728x90
https://school.programmers.co.kr/learn/courses/30/lessons/12980
728x90
메모리: 72.6 MB, 시간: 0.04 ms
사용 알고리즘: 그리디 알고리즘
n에서 0까지 만들건데
2배 순간이동으로 이동할 수 있는 거리라면(2로 나누어 떨어진다면) 무조건 순간이동으로 이동하고,
순간이동으로 이동할 수 없는 거리라면(2로 나누어 떨어지지 않는다면) 1칸 점프로 이동한다.
public class Solution {
public int solution(int n) {
int ans = 0;
while(n > 0) {
if(n % 2 == 1) { // 2배 순간이동으로 올 수 없는 위치라면 1칸 이동
ans++;
n--;
}
else { // 2배 순간이동으로 올 수 있는 위치면 무조건 순간이동
n /= 2;
}
}
return ans;
}
}
728x90
'Problem Solving > Programmers' 카테고리의 다른 글
[프로그래머스, 43236] 징검다리 (java) (0) | 2024.08.16 |
---|---|
[프로그래머스, 12979] 기지국 설치 (java) (0) | 2024.08.16 |
[프로그래머스, 12944] 평균 구하기 (java) (0) | 2024.08.14 |
[프로그래머스, 49995] 쿠키 구입 (java) (0) | 2024.08.13 |
[프로그래머스, 42884] 단속카메라 (java) (0) | 2024.08.12 |