그리디하게 맨 뒷 자리가 짝수면 2로 나누고 1이면 1빼면 된다.
import sys
input = sys.stdin.readline
A, B = map(int, input().split())
cnt = 1
while A != B:
if A > B or (B % 10 != 1 and B % 2 != 0):
cnt = -1
break
if B & 1:
B //= 10
cnt += 1
else:
B //= 2
cnt += 1
print(cnt)
'practivceAlgorithm > 백준' 카테고리의 다른 글
[백준][Python] 2263 트리의 순회 (0) | 2021.12.15 |
---|---|
[백준][Python] 9251 LCS (0) | 2021.12.15 |
[백준][Python] 1487 물건팔기 (0) | 2021.12.03 |
[백준][Python] 2589 보물섬 (0) | 2021.11.15 |
[백준][Python] 17216 가장 큰 감소 부분 수열 (0) | 2021.11.09 |