[Python] 프로그래머스(Lv2) - 점프와 순간 이동

Kerri·2021년 3월 18일
0

코테

목록 보기
24/67

안녕하세요 :)

프로그래머스 점프와 순간 이동 문제입니다.
https://programmers.co.kr/learn/courses/30/lessons/12980

풀이

문제를 잘보면 홀수가 나오면 무조건 점프로 한칸 이동해야합니다.
순간이동으로는 (현재까지 온 거리) x 2 로 이동할 수 있기 때문이죠.
(즉, 순간이동을 하면 짝수가 나오므로 짝수면 건전지 사용량이 들지 않는다.)
그렇다면, 건전지 사용량을 최소로 이용하는 방법은 홀 수 일때만 점프로 한칸이동 하는 것이 되겠습니다.

N = 5일때 답이 되는 경우

N = 6일때 답이 되는 경우

n을 2로 나누어주면서 홀수가 나온다면 ans += 1을 해줍니다.

def solution(n):
    ans = 0
    
    while n > 0:
        if n % 2 == 1:
            ans += 1
        n //= 2
        
    return ans
profile
안녕하세요 !

0개의 댓글