def solution(n):
ans = 0
while n != 0:
if n == 1:
n = 0
ans += 1
if n % 2 == 1:
n = n // 2
ans += 1
else:
n = n // 2
return ans
이 문제 또한 뒤에서부터 풀어가는 방식을 생각해 보았다!!
n을 2로 나누었을 때 나누어 떨어지면 순간이동이 가능하므로 나눠주기만 하고!
나누어 떨어지지 않는 경우에는 1칸 점프해야 하는 것이기 때문에 ans에 1을 더해주고, n을 2로 나눈 몫으로 바꿔주기!!
마지막에 n이 1이 되면 점프를 한번 해야하기 때문에 ans에 1을 더해주고, n을 0으로 바꿔주기!