sm 기술 블로그
58. 1193(분수찾기) 본문
N = int(input())
cnt = 1
while(True):
N -= cnt
if(N <= 0):
break
cnt += 1
# 입력 값이 어느 그룹에 있는지 확인함
i = N + cnt
if cnt % 2 == 0:
print("{0}/{1}".format((cnt + N), ((cnt+1)-i)))
else:
print("{1}/{0}".format((cnt + N), ((cnt+1)-i)))
# 지그재그로 할당됨 -> 짝수 번째 그룹은 오름차순, 홀수는 내림차순
분수가 지그재그로 나열됨. 이를 엑셀로 통해서 나타내보면,
다음과 같이 나타낼 수 있다.
분수를 나열해 보았을 때, 분자와 분모의 합이 같은 것끼리 그룹을 이루고 있음을 알 수 있다.
코드 로직을 크게 보면 이렇다.
1. 반복문으로 입력값이 어디그룹의 아이인지 알아낸다.
2. 지그재그로 인해 짝수 그룹이면 오름차순을, 홀수 그룹이면 내림차순으로 나타난다.
'문제 > 백준_파이썬' 카테고리의 다른 글
60. 10250(ACM 호텔) (0) | 2022.05.29 |
---|---|
59. 2869 (달팽이는 올라가고 싶다) (0) | 2022.05.29 |
57. 2292(벌집) (0) | 2022.05.26 |
56. 1712(손익분기점) (0) | 2022.05.25 |
55. 1316 (그룹 단어 체커) (0) | 2022.05.25 |
Comments