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이라는 변수에 위치값을 저장해놓고 연산을 통해 해결했다.