자바/코딩테스트

[프로그래머스] 점프와 순간 이동 - Java(자바)

대전집주인 2024. 3. 25. 14:25
728x90
SMALL

 

문제 이해

  • 아이언 슈트는 K 칸 * 2 의 위치까지 순간 이동 가능
  • 순간이동이 아닌 K 칸씩 앞으로 가려면 K 만큼의 건전지가 소모됨
  • 최소한의 건전지 사용량으로 가려면 어떻게 해야하는가?
  • 0에서 시작이 아닌 나는 n에서 0까지 가는 방식으로 선택했다.
  • n 에서 짝수이면 /2 홀수이면 -1 건전지 사용량 +1 의 방식으로 거리가 0이 될때까지 반복한다.
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 -= 1;
                ans++;
            }
        }

        return ans;
    }
}
728x90
LIST