요약: 앞으로 1칸 이동가능, 현재까지 거리*2 위치로 순간이동
풀이
import java.util.*;
public class Solution {
public int solution(int n) {
int ans = 0;
while(n!=0){
if(n%2==0) n/=2;
else{
ans++;
n--;
}
}
return ans;
}
}
풀이방법
1) 1부터 쭉 나열해서 써보면 일정한 규칙을 찾을 수 있다.(=수학적인 문제)
홀수라면 Jump 1회, 짝수는 2로 계속해서 나누었을 때 홀수가 반환되면 다시 Jump 1회를 더하면 된다.