728x90
풀이
분수로 이루어진 배열에 대해 N번째 배열의 요소를 출력하는 문제다.
문제에서 주어진 것 처럼 배열의 요소들은 아래의 표처럼 분모와 분자가 뒤바뀌는 것을 알 수 있다.
1/1 |
1/2, 2/1 |
3/1, 2/2, 1/3 |
1/4, 2/3, 3/2, 4/1 |
5/1, 4/2, 3/3, 2/4, 1/5 |
1/6, 2/5, 3/4, 4/3, 5/2, 6/1 |
다음과 같은 규칙이 존재한다.
- 홀/짝 번째 줄에 따라 분자와 분모의 위치가 변한다.
- 한 줄에 속한 요소의 다음 요소는 분자와 분모가 1씩 증감하는 규칙이 있다.
- 다음 줄로 넘어갈 때마다 요소의 갯수가 1씩 증가한다.
한 줄이 가지는 요소 개수만큼 N을 감소시키다 보면 N이 몇 번째 줄(depth)인지 알 수 있다.
또한, 감소시킨 N이 줄의 요소보다 작다면, 그 수가 줄에서 요소가 위치하는 순서가 된다.
요소가 위치한 줄에 대해 홀/짝을 판단해 분자와 분모에 적절한 수를 넣어주자.
소스코드
출처
728x90
'PS > Baekjoon Online Judge' 카테고리의 다른 글
[백준 1703] 생장점 [Python] (1) | 2023.10.16 |
---|---|
[백준 1312] 소수 [Java] (0) | 2023.10.10 |
[백준 1015] 수열 정렬 [Python] (1) | 2023.10.03 |
[백준 15678] 연세워터파크 [C++] (0) | 2023.09.30 |
[백준 28490] Area [Python] (0) | 2023.09.10 |