[BOJ][Python][실1][1011] Fly me to the Alpha Centauri

문제 링크

문제링크

첫 번째 풀이

정답코드

1 = 1                       i*i
2 = 1 + 1                   i*i+i
4 = 1 + 2 + 1               i*i 
6 = 1 + 2 + 2 + 1           i*i+i 
9 = 1 + 2 + 3 + 2 + 1       i*i 
12 = 1 + 2 + 3 + 3 + 2 + 1   i*i +i

1,2,4,6,9,12는 각 i번 움직여서 갈 수 있는 최대 거리
이동거리를 diff라고 할 때, i번 움직였을 때 이동할 수 있는 최대 거리가 diff 보다 큰 가장 작은 i를 구하면 된다.  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import sys
from collections import deque

# 파일 입력
# sys.stdin = open('input.txt', 'r')

# TestCase
for _ in range(int(input())):
    a, b = map(int, input().split())
    diff = b - a
    print(f'diff is {diff}')
    step = 1
    for i in range(1, 100000):
        if i * i >= diff:
            step = 2 * i - 1
            break
        elif i * i + i >= diff:
            step = 2 * i
            break
    print(step)

Success Notice: 수고하셨습니다. :+1:

Leave a comment