PS/Baekjoon Online Judge

[백준 1193] 분수찾기 [Java]

kimyoungrok 2023. 10. 4. 16:48
728x90

백준 1193 - 문제
백준 1193 - 입/출력


풀이

분수로 이루어진 배열에 대해 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이 줄의 요소보다 작다면, 그 수가 줄에서 요소가 위치하는 순서가 된다. 

 

요소가 위치한 줄에 대해 홀/짝을 판단해 분자와 분모에 적절한 수를 넣어주자.


소스코드

소스코드 보기


출처

 

1193번: 분수찾기

첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다.

www.acmicpc.net

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