https://www.acmicpc.net/problem/1011
1) 입력값: 테스트 케이스 T, 시작점 N, 도착점 M
2) 출력값: 이동 수 N
3) 제약조건:
4) 예외케이스: 없음
def calc_alpha_centauri():
t = int(input("Enter the number of test cases:"))
result = [];
for i in range(t):
x = int(input(f"{i + 1} Enter starting point: "))
y = int(input(f"{i + 1} Enter ending point: "))
distance = y - x
count = 0
travel = 1
current_distance = 0
while current_distance < distance :
count += 1
current_distance += travel
if count % 2 == 0 :
travel += 1
result.append(count)
for i in result:
print(i)
calc_alpha_centauri()
처음에 문제를 풀때 꼭 이동거리를 맞게 숫자를 맞춰줘야한다는 것에 집중해서 정작 문제가 요구하는count
값을 찾는 것을 간과했던 것 같다.
count
를 찾기 위해 꼭 이동거리를 맞춰줘야할 필요가 없다는 것을 깨닫고 임의로 정의한 로직
if count % 2 == 0 :
travel += 1
으로 이동횟수를 추측할 수 있었다. 다만 문제가 "가능한 이동방법"을 나열하라 요구했다면 다른 식으로 풀어야할 것 같다.