코딩일지/python 백준 알고리즘

python 백준 알고리즘 1193번: 분수찾기

야언 2022. 9. 14. 18:47

https://www.acmicpc.net/problem/1193

 

1193번: 분수찾기

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

www.acmicpc.net

ex) [1/1], [1/2, 2/1], [3/1, 2/2, 1/3], [1/4, 2/3, 3/2, 4/1], [5/1, 4/3, 3/3, 2/4, 1/5]

1, 3, 6, 10, 15

라인은 1-2-3-4식으로 등차수열 -> 벌집문제에서 활용했던 while문 사용, 인풋받은 수를 라인을 1씩 늘려가면서 빼서 몇번째 줄 몇번째 수인지 구한다.

 

 

홀수번째 라인은 사선이 분자가 내림차순, 분모가 오름차순 순이고, n/1 -> 1/n

 

짝수번째 라인은 사선이 분자가 오름차순, 분모가 내림차순 순이다.1/n -> n/1

 

 

 

내 제출

X=int(input())

line=1
while X>line:
    X-=line
    line+=1
    
if line%2!=0:  # 라인이 홀수일때
    a=line-X+1
    b=X
    
else:  # 라인이 짝수일때
    a=X
    b=line-X+1
    
print(f"{a}/{b}")