코딩테스트/기초

백준 1193 분수찾기 - python

math_tbro 2022. 1. 6. 22:36

출처 :

https://www.acmicpc.net/problem/1193

 

1193번: 분수찾기

첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다.

www.acmicpc.net

 

x = int(input())

cnt = 0
sum_cnt = 0

while sum_cnt < x:
    cnt += 1
    sum_cnt += cnt
    
if cnt % 2 == 1:
    a = sum_cnt - x + 1
    b = cnt -sum_cnt + x
else :
    a = cnt - sum_cnt + x
    b = sum_cnt -x + 1

    
print(f'{a}/{b}')

 

풀이 : 

분자 부분을 보면

1

12

321

1234

54321

 구조를 갖고 있고

분모를 보면

1

21

123

4321

12345

이런 구조를 갖고 있다.

 

따라서 일단 while로 이게 몇번째 칸에 들어가있는지를 찾은 다음

각각 정배열 되는 경우가 있고 역배열되는 경우가 있는데 그것을 찾아서 따져서 프린트 하면된다..

불친절하긴한데... 시간이 없다...