반응형
https://www.acmicpc.net/problem/16953
import collections
a, b = map(int, input().split())
q = collections.deque()
q.append(a)
count = 0
while q:
count += 1
for i in range(len(q)):
num = q.popleft()
n1 = num * 2
n2 = int(str(num)+"1")
if b in [n1,n2]:
print(count+1)
quit()
if n1 < b:
q.append(n1)
if n2 < b:
q.append(n2)
print(-1)
큐를 사용하여 구현하였다. 숫자가 이전보다 작아질 수는 없으므로
target값인 b보다 작은 경우에만 다시 q에 넣어주는 방식으로 풀었다.
댓글