#include <iostream>
using namespace std;
int solution(int n)
{
int ans = 0;
while(n>0)
{
if(n%2==0)
{
n/=2;
}
else
{
n--;
ans++;
}
}
return ans;
}
이 문제는 탐욕 알고리즘이다.
최상의 결과를 얻기 위해서는 가능한 순간이동 한 부분이 많아야 하므로 될수 있는한
순간이동을 하고(나누기 2 하는 행위)
이게 안됬을 경우 1칸 전진한다.
지금까지 이동한 부분으로부터 절대 거리를 이동하므로 이런식이 가능하다.