728x90
모든 값을 리스트에 넣어주면서 값이 존재하는지를 체크해주려고 했는데 아마도 시간 초과가 나는 것 같다. in 이 아니라 for 문 내에서의 비교연산을 이용하는 것이 효율적이고, 최댓값의 범위를 지정해주어서 시간 초과를 방지하고 리스트를 미리 만들어 두었다면 풀 수 있던 문제이다.
import sys
k = list(map(int, sys.stdin.readline().split(" ")))
# 네가지 다 해보면서 리스트에 담기
a = k[0]
b = k[1]
check = []
answer = 0
check.append(a)
while True:
temp = [ ]
for i in range(0,len(check)):
temp.append(check[i]-1)
temp.append(check[i]+1)
if check[i]<b:
temp.append(check[i]*2)
answer+=1
if b in temp:
break
else:
check = temp
print(answer)
728x90
'🟢 알고리즘 문제 풀이 > Baekjoon' 카테고리의 다른 글
| [파이썬] 백준 7576 토마토 (0) | 2023.03.13 |
|---|---|
| [파이썬] 백준 23561 Young한 에너지는 부족하다 (0) | 2023.03.13 |
| [파이썬] 백준 2562 최댓값 (0) | 2022.12.30 |
| [파이썬] 백준 14312 숫자 세는 양 (0) | 2022.12.30 |
| [파이썬] 백준 14235 크리스마스 선물 (0) | 2022.12.30 |