(1).백준 3787번 Count on Canton는 아래 모양처럼 대각선으로 숫자를 배치할 때 n번째 숫자의 값을 구해야 하는 문제였다.
1/1 1/2 1/3
2/1 2/2
3/1
간단하게 첫번째 숫자부터 1, 2, 3, 4개마다 총 합이 2, 3, 4, 5로 증가했기 때문에
숫자의 총 합을 count로 관리했고 n번째 숫자인지 체크하는 것은 남은 숫자를 left에 담아 관리했다.
홀, 짝에 따라 증감 방향이 달라졌기 때문에 count를 2로 나눈 나머지를 기준으로 홀 짝을 구분해서
분모 분자의 위치를 바꾸는 방식으로 문제를 해결했다.
const input = `3
14
7`.split('\n').map(Number)
const result = []
for(let i = 0 ; i < input.length ; i++){
let left = input[i]
let count = 2
for(let j = 1 ; j < left ; j++){
left -= j
count++
}
if(count % 2){
result.push(`TERM ${input[i]} IS ${left}/${count - left}`)
}
else{
result.push(`TERM ${input[i]} IS ${count - left}/${left}`)
}
}
console.log(result.join('\n'))'회고' 카테고리의 다른 글
| [개발일지] - 616 (0) | 2025.03.10 |
|---|---|
| [개발일지] - 615(주말) (0) | 2025.03.09 |
| [개발일지] - 613 (0) | 2025.03.07 |
| [개발일지] - 612 (0) | 2025.03.06 |
| [개발일지] - 611 (0) | 2025.03.05 |
