본문 바로가기

Algorithm/프로그래머스

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

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

 

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

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

programmers.co.kr

n이 2로 나누어 떨어지면 2로 나누고

n이 2로 나누어 떨어지지 않으면 1을 빼고 건전지 사용량을 1 더해주면 된다.

 

import java.util.*;

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

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

        return ans;
    }
}