알고리즘(백준, 프로그래머스)/[백준] 알고리즘 (구현)

[백준 1193 / 파이썬(Python) / Silver Ⅴ] 구현 / 분수찾기

마법사 코딩공주 2023. 6. 4. 15:27
728x90
반응형

문제링크 : https://www.acmicpc.net/problem/1193

 

1193번: 분수찾기

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

www.acmicpc.net

 문제

이와 같이 나열된 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자.

X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오.

 입력

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

 출력

첫째 줄에 분수를 출력한다.


 풀이

  • 대각선 줄이 홀수인지 짝수인지 판단하여 구하고, 분자, 분모의 숫자의 방향이 홀수 줄인경우는 분자는 오름차순, 분모는 내림차순, 짝수인경우 분모는 내림차순, 분자는 오름차순
x = int(input())

line = 1

while x > line:
    x -= line
    line += 1

if line % 2 == 0:
    a = x
    b = line - x + 1

else:
    a = line - x + 1
    b = x

print(str(a)+'/'+str(b))
728x90
반응형