[백준 16953] A → B

Junyoung Park·2022년 3월 6일
0

코딩테스트

목록 보기
201/631
post-thumbnail

1. 문제 설명

A → B

2. 문제 분석

A -> B에서가 아니라 B -> A로 단축하는 가장 빠른 방법을 카운트한다. 변환 식이 모두 적용이 안 된다면 결국 변환 불가능하다는 뜻이므로 루프문을 빠르게 종료해야 한다.

3. 나의 풀이

import sys
from collections import deque

A, B = map(int, sys.stdin.readline().rstrip().split())
cnt = 0
while B > 0:
    if B == A: break

    if B%2 == 0:
        B = B // 2
        cnt += 1
    elif B%10 == 1:
        B = B // 10
        cnt += 1
    else: break
    # 변환 불가능할 때 break


# 변환이 끝났을 때 A == B 동일한지 체크
if A == B: print(cnt+1)
else: print(-1)
profile
JUST DO IT

0개의 댓글