[Programmers] 점프와 순간 이동
2023. 8. 8. 14:10ㆍComputer Sciences/Problem Solve
https://school.programmers.co.kr/learn/courses/30/lessons/12980
문제 설명
문제가 쓸데없이 긴데 핵심은 간단하다. 점프를 최소화하여 목표 지점까지 도착하는 것이다. 이를 달리 말하면 순간이동을 최대화하라는 말이다. 순간이동은 현재까지 온 거리 * 2 만큼 이동한다. 따라서 목표 지점까지 점프를 최소화하여 최단으로 가는 거리는 목표 거리를 2로 계속 나누면 되는 것이다. 그러다 만약 홀수가 나오면 한 칸 점프하면 된다.
코드
public class Solution {
public int solution(int n) {
int answer = 0;
while (n != 0) {
if (n % 2 == 1) answer++;
n /= 2;
}
return answer;
}
}
'Computer Sciences > Problem Solve' 카테고리의 다른 글
[Programmers] 멀리 뛰기 (0) | 2023.08.08 |
---|---|
[Programmers] N개의 최소공배수 (0) | 2023.08.08 |
[Programmers] 예상 대진표 (0) | 2023.08.08 |
[Programmers] 영어 끝말잇기 (0) | 2023.08.08 |
[Programmers] 숫자의 표현 (0) | 2023.08.07 |