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