BOJ/Python

백준 16953번 A -> B 파이썬

띵지니어 2022. 4. 12. 21:50
반응형

https://www.acmicpc.net/problem/16953

 

16953번: A → B

첫째 줄에 A, B (1 ≤ A < B ≤ 109)가 주어진다.

www.acmicpc.net

 

내 답안

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인데 아직 그래프 탐색을 제대로 이해를 못 했기 때문에

반복문과 조건문을 활용하여 풀었다.

반응형