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

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

'BOJ > Python' 카테고리의 다른 글

백준 1912번 연속합 파이썬  (0) 2022.04.22
백준 11399번 ATM 파이썬  (0) 2022.04.17
백준 1181번 단어 정렬 파이썬  (0) 2022.04.11
백준 12865번 평범한 배낭 파이썬  (0) 2022.03.31
백준 7576번 토마토 파이썬 BFS  (0) 2022.03.30