문제
문제 풀이
문제에서 순간이동은 (이동거리) *2 이고 점프는 이동거리 + 1이다. 그렇다면 결과값을 역추적을 하면 그 값을 찾을 수 있다.
결과 N까지 도달하는 정확한 값을 만들어야 하기 때문에 N 값이 홀수라면 -1을 해주고 짝수라면 / 2 를 해주면 된다.
나의 답안
public static int solution(int n) {
int ans = 0;
while (n != 0){
if (n % 2 == 0) {
n = n /2;
} else {
n -= 1;
ans++;
}
}
return ans;
}