๐Ÿ ํŒŒ์ด์ฌ ์ƒ์ดˆ์งœ

[BOJ][Python] ๋ฐฑ์ค€ 16953๋ฒˆ: A → B (Silver II)

์„ ๋‹ฌ 2024. 11. 1. 13:07
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

์ •์ˆ˜ A๋ฅผ B๋กœ ๋ฐ”๊พธ๋ ค๊ณ  ํ•œ๋‹ค. ๊ฐ€๋Šฅํ•œ ์—ฐ์‚ฐ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‘ ๊ฐ€์ง€์ด๋‹ค.
A๋ฅผ B๋กœ ๋ฐ”๊พธ๋Š”๋ฐ ํ•„์š”ํ•œ ์—ฐ์‚ฐ์˜ ์ตœ์†Ÿ๊ฐ’์„ ๊ตฌํ•ด๋ณด์ž.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— A, B (1 ≤ A < B ≤ 109)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.

์ถœ๋ ฅ

A๋ฅผ B๋กœ ๋ฐ”๊พธ๋Š”๋ฐ ํ•„์š”ํ•œ ์—ฐ์‚ฐ์˜ ์ตœ์†Ÿ๊ฐ’์— 1์„ ๋”ํ•œ ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค. ๋งŒ๋“ค ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” -1์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

ํ’€์ด

def solution(a,b):
    i = 0
    
    while True:
        if b == a:
            return i+1
        elif b == 0:
            return -1
            
        if b%2 == 0:
            b //= 2
        elif b%10 == 1:
            b //= 10
        else:
            return -1
        
        i += 1
        

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

print(solution(a,b))
๋ฐ˜์‘ํ˜•