문제 보러 가기 👈 클릭!
n/2 만큼 이동하고 순간이동 하면 됨, n/2/2 만큼 이동하고 순간이동 하면 됨, n/2/2/2만큼 ...
==> n을 2로 나눈 몫이 1이 될때까지 계속 나누면서 몫이 홀수일경우 건전지 사용량을 1만큼 증가
def solution(n): #아이언 슈트 구매자가 이동하려는 거리n
ans = 0
ans = div_recursion(n, ans)
return ans
def div_recursion(n, ans):
if n == 1:
return ans + 1
elif n % 2: #n이 홀수 일 경우
return div_recursion(n // 2, ans + 1)
else: #n이 짝수 일 경우
return div_recursion(n // 2, ans)
def solution(n): #아이언 슈트 구매자가 이동하려는 거리n
if n == 1:
return 1
elif n % 2: #n이 홀수 일 경우
return solution(n // 2) + 1
else: #n이 짝수 일 경우
return solution(n // 2)