문제는 다음과 같고, 코드는 아래와 같다.

a,b = input().split()
count = 1
while (int(b)>int(a)):
    if b[-1]=="1":
        b = b[0:-1]
        count+=1
    elif int(b)%2==0:
        b = str(int(b)//2)
        count+=1
    else:
        break
if a==b:
    print(count)
else:
    print(-1)

a,b를 입력을 받은 후,

a를 b로 변환시키는 것이 아니라

b를 a로 변환시킴으로서 문제를 해결해 나갔다.

따라서 가장 마지막에 1이 존재할 경우는 이를 제거하고,

2를 나눌 수 있다면 2로 나누는 과정 하나하나를 전부 연산 숫자로 생각하고

불가능할 경우 -1을 출력하도록 구현했다.

+ Recent posts