📝문제 설명

 

- K칸 앞으로 점프하면 K만큼 배터리를 소모

- 이동한거리 X 2 만큼 순간이동은 배터리를 소모하지 않는다.

 

문제 설명을 보면 앞에서 출발하는 경우의 수를 둔다. 하지만 도착지부터 0까지 도달할 수 있는 방법으로 거꾸로 TOP-DWON 방식으로 생각해보자

0까지 도달하려면 1번째 조건보다는 2번째 조건이 많아야 배터리 소모가 적을 것이다.

따라서 2로 나눌 수 있으면 나누고 나눠지지 않으면 1을 빼면 된다.

 


📢입출력 예시

 


✏️문제 풀이

import java.util.*;

public class Solution {
    public int solution(int n) {
        int ans = 0;

        while(n!=0){
            if(n%2==0){
                n /= 2;
            }else{
                n--;
                ans++;
            }
        }

        return ans;
    }
}

💡새로 알게된 점