프로그래머스(Python) 풀이/Level.2

프로그래머스(Python) 12980번 점프와 순간 이동 풀이

개발윗미 2022. 5. 7. 12:26

Python으로 구현한 12980번 점프와 순간 이동 문제 풀이입니다.

 

https://programmers.co.kr/learn/courses/30/lessons/12980

 

코딩테스트 연습 - 점프와 순간 이동

OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈

programmers.co.kr


def solution(n) :
    answer = 0

    while n > 0 :
        if n % 2 == 1 :
            answer += 1
        n //= 2
    
    return answer

 

1. n이 0 이하가 될 때까지 반복 수행하는데, 현재 n 값을 2로 나눈 나머지가 1일 경우 한 칸 점프해야하므로 answer을 1 증가시킨다.

 

2. n을 2로 나눈 몫으로 갱신한다.

 

3. 반복문이 종료되면 최종적으로 answer 값을 반환한다.