백준 16953 - A->B


백준 16953 - A->B

1234567891011121314151617181920212223from collections import dequea,b = map(int, input().split())q = deque()q.append((a,1))ans = [] while q: value = q.popleft() if value[0] * 2 <= b: q.append((value[0]*2, value[1]+1)) if value[0] * 2 == b: ans.append(value[1]+1) value = (int(str(value[0]) + "1"), value[1]) if value[0] <= b: q.append((value[0],value[1]+1)) if value[0] == b: ans.append(value[1]+1) if not ans: print(-1)else: print(min(ans))cs 끝에 1을 추가한 값과 2를 곱한 값이 b를 넘지 않는다면 q에 추가, 여러 경우가 발생할 수 있기에 min(answer) 출력...



원문링크 : 백준 16953 - A->B