지금은마라톤중

[백준] 16953번 A → B 본문

STUDY/Python 알고리즘

[백준] 16953번 A → B

달리는중 2024. 5. 29. 00:27

 

접근법

- 무한 반복문 활용

- B의 맨 뒷자리에 1을 가졌는지 체크하여 연산

- 2로 나누어 떨어지는지 체크하여 연산

- 반복문 종료되면 횟수 출력

- 2가지 연산 중 하나라도 작동하지 않으면 만들 수 없는 경우임 → -1  출력

 

a,b = map(int,input().split())
cnt = 1

while b != a :

    tmp = b
            
    if b % 10 == 1:
        b //= 10
        
    elif b % 2 == 0:
        b //= 2
    
    cnt +=1
    
    if tmp == b:
        print(-1)
        break
else : 
    print(cnt)

 

'STUDY > Python 알고리즘' 카테고리의 다른 글

[백준] 1946번 신입 사원  (0) 2024.05.29
[백준] 1439번 뒤집기  (0) 2024.05.29
[이론] 탐욕적(그리디) 알고리즘  (0) 2024.05.24
[백준] 1459번 걷기  (0) 2024.05.22
[백준] 2891번 카약과 강풍  (0) 2024.05.18
Comments