처음엔 BFS를 사용하여 A에서 B로 가는 최소횟수를 구했다. 그런데 찾아보니 이런 경우는 B에서 A로 가는 것을 구하면 훨씬 빠르다!! from collections import deque def BFS(): ans = 1 while Q: size = len(Q) for i in range(size): num = Q.popleft() if num > b : continue if num == b: return ans if num * 2 a: ans += 1 if b % 10 == 1: b //= 10 elif b % 2 == 0: b //= 2 else: print(-1) break else: if b < a: print(-1) else: print(ans)