알고리즘/프로그래머스

[Summer/Winter Coding(~2018)] 점프와 순간 이동 - Python / JavaScript

Dev. Dong 2025. 2. 23. 15:19

문제 링크 - https://school.programmers.co.kr/learn/courses/30/lessons/12980

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

[문제 간단 요약]

1. 점프와 순간이동을 할때 점프는 +1 순간이동은 0을 사용

2. 특정 목적지에 도착하는데 사용되는 최소의 사용량을 구하는 문제 

[문제 해결 방안]

1. 목적지를 시작으로해서 0까지 순간이동을 가장 많이 사용하도록 하면 문제 해결

2. 짝수 일때 n으로 나누고 홀수 있때 1을 빼주고 사용량을 +1 해주는 식으로 구

 

[문제 해결 코드 - python]

def solution(n):
    answer=0
    while (n != 0):
        if n % 2 == 0:
            n=n//2
        else:
            n-=1
            answer+=1
    return answer

 

[문제 해결 코드 - javascript]

function solution(n)
{
    let ans = 0;
    while (n !== 0) {
        if (n % 2 === 0) {
            n = n/2
        } else {
            n = n-1
            ans += 1
        }
    }
    return ans;
}