BOJ/Python
백준 16953번 A -> B 파이썬
띵지니어
2022. 4. 12. 21:50
반응형
https://www.acmicpc.net/problem/16953
내 답안
import sys
input = sys.stdin.readline
A, B = map(int, input().split())
cnt = 1
while True:
if A == B:
break
elif (B % 2 != 0 and B % 10 != 1) or A > B:
print(-1)
sys.exit(0)
else:
if B % 10 == 1:
B //= 10
cnt += 1
else:
B //= 2
cnt += 1
print(cnt)
Reivew
문제 조건에 의해 연산 최솟값의 1을 더해야 하기 때문에 cnt를 처음에 1로 초기화를 해주었다.
문제 유형은 bfs인데 아직 그래프 탐색을 제대로 이해를 못 했기 때문에
반복문과 조건문을 활용하여 풀었다.
반응형