알고리즘
[백준 1193] 분수찾기 - 파이썬
Codult
2024. 1. 31. 16:05
728x90
백준 1193 - 분수찾기

* 풀이과정
1) 규칙 찾기
규칙 1. 대각선을 1번째, 2번째, 3번째,... n번째 줄이라고 볼 때, n이 짝수인 경우 1/n에서 시작하고 n이 홀수인 경우 n/1에서 시작한다.
규칙 2. 각 대각선에 포함되는 요소의 수는 n개로, 1씩 순차적으로 증가한다.
2) 입력받은 숫자 N이 대각선의 요소의 수보다 적어질 때까지, 순차적으로 증가하는 요소의 수(i)를 빼준다.
3) N <= i 일 때, i가 짝수인지 홀수인지 구분하여 결과를 출력한다.
N=int(input())
i=1
# 대각선에 포함되는 요소의 수(i)만큼 N에서 빼준다.
# i는 1씩 증가
while N>i:
N -= i
i += 1
# N <= i 이므로, N은 i번째 대각선의 N번째 요소이다.
# 짝수번째 대각선은 N이 분자
if i%2 == 0:
print("%d/%d" %(N,i-N+1))
# 홀수번째 대각선은 N이 분모
else:
print("%d/%d"%(i-N+1,N))
728x90