[백준/파이썬] 1193번 분수찾기 풀이

업데이트:



문제 정보


풀이

문제

지그재그 순서로 나열된 분수열에서 X번째 분수를 구하는 문제입니다.

코드

n = int(input())-1

si = 0
i = 0
while n >= si:
    i += 1
    si += i
b = si - n
a = i + 1 - b

if i%2 == 1:
    a, b = b, a

print(str(a)+"/"+str(b))

설명

대각선 번호 i를 찾으면 해당 대각선 원소 수는 i개입니다. 누적합으로 X가 속한 대각선을 찾은 뒤, 대각선 내 위치에 따라 분자/분모를 계산합니다.

대각선 번호가 홀수/짝수일 때 진행 방향이 반대이므로 홀수 대각선에서는 분자/분모를 교환합니다.



댓글남기기