IT/Algorithm

[python] 백준 1011: Fly me to the Alpha Centauri

imsunbow 2025. 3. 15. 18:34

 

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

 

 

단순한 계산 문제이다. 

 

#백준 1011: Fly me to the Alpha Centauri

t = int(input()) #테스트 케이스의 개수
for _ in range(t):
x, y = map(int, input().split())
distance = y - x
count = 0
move = 1 #이동 횟수
move_sum = 0 #이동한 거리
while move_sum < distance: #이동한 거리가 총 거리보다 작다면
count += 1 #이동 횟수 증가
move_sum += move #이동한 거리 증가
if count % 2 == 0: #이동 횟수가 2의 배수일 때
move += 1 #이동 거리 증가
print(count)

 

풀이법 : 수학

문제에서 유의해야 할 점은 (핵심 포인트는) 이동 횟수가 짝수일 때 마다 이동할 수 있는 거리가 1광년씩 늘어난다는 점이다. 이를 제외하고 문제 풀이는 간단한 편이다. 이동회수와 이동한 거리를 상수값으로 두고, 값을 하나씩 증가시켜가면서 최종 횟수를 계산하면 된다.

반응형