감자튀김 공장🍟

[백준/1193] 분수찾기 (with 파이썬) 본문

Algorithm/BOJ

[백준/1193] 분수찾기 (with 파이썬)

Potato potage 2022. 10. 21. 20:22
반응형

✔ 문제


풀이

n = int(input())
l = 1

while n > l:
    n -= l
    l += 1

if l % 2 == 0:
    a = n
    b = l - n + 1
else:
    a = l - n + 1
    b = n
print(a, '/', b, sep='')

후기

생각보다 더 어렵다.. 대각선끼리 묶어서 생각해야한다는 점이 키 포인트였던 것 같은데, 그걸 못 찾아서 계속 어떻게 풀어야하나 각 입력 숫자들 사이에서 규칙을 계속 찾고 있었다.

[1/1], [1/2, 2/1], [3/1, 2/2, 1/3], [4/1, 3/2, 2/3, 1/4] 이렇게 한 대각선에 각 분수들이 들어가게 된다.

while문을 돌면서 n이 몇번째 대각선에 들어가야하는지 알아야한다.

다음 if/else 문을 통해서 대각선의 짝.홀에 따라 분자와 분모의 대입을 구분하면 된다.

 

사실 한줄한줄 로직이 왜 저렇게 구현되는지는 아직까지도 잘 모르겠어서 다시 한 번 더 풀어봐야한다.


참고

https://deokkk9.tistory.com/11

 

[python 파이썬] 백준 1193번: 분수찾기

https://www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net X=int(input()) line=1 while X>line: X-=line line+=1 if line%2==0: a=X b=line-X+1..

deokkk9.tistory.com

 

반응형
Comments