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
'알고리즘' 카테고리의 다른 글
| [백준 9461] 파도반 수열 - 파이썬 (0) | 2024.02.02 |
|---|---|
| [백준 10866] 덱 - 파이썬 (0) | 2024.02.02 |
| [백준 1991] 트리 순회 - 파이썬 (1) | 2024.01.28 |
| [백준 11279] 최대 힙 - 파이썬 (0) | 2024.01.28 |
| [백준 2579] 계단 오르기 - 파이썬 (0) | 2024.01.26 |