Altiora Petamus

분수찾기 본문

1day-1algorithm

분수찾기

Haril Song 2021. 4. 18. 21:17

Reference

문제풀이

  • 대각방향으로 1, 2, 3, 4, 5개만큼 새로운 분수가 생성된다 ⇒ 14는 10과 15의 사이에 있으므로 14번째 분수는 5열 중 어느 한 곳에 있다.
  • 홀짝을 사용하여 차례를 알 수 있다. 5열은 홀수번째이며, 분모가 1부터 시작해서 1씩 증가한다. 분자는 반대.

위 내용을 코드로 작성한다면 아래와 같이 작성할 수 있다.

 

X = int(input())

totalLine = 0
temp = 0
while X > totalLine:
    temp += 1
    totalLine += temp

a = 1
b = temp
n = totalLine - X

if b % 2 != 0:
    print(f'{a + n}/{b - n}')
else:
    print(f'{b - n}/{a + n}')

 

반복문을 사용하면 시간초과가 나올 것 같아서 n이라는 변수에 위치값을 저장해놓고 연산을 통해 해결했다.

'1day-1algorithm' 카테고리의 다른 글

ACM 호텔  (0) 2021.04.20
달팽이는 올라가고 싶다  (0) 2021.04.19
캠핑  (0) 2021.03.01
단어수학  (0) 2021.02.25
신입사원  (0) 2021.02.24