function solution(n)
{
let result = 0;
while(n > 0) {
if (n % 2 === 0) {
n = n / 2;
} else {
n = (n - 1) / 2;
result++;
}
}
return result;
}
문제 설명을보고 그대로 풀려고했더니 너무 어려웠었다.
그래서 설명을 다시 천천히 읽어보니 홀수와 짝수일때 처리하면 되겠다는게 보였고 2로 나누었을때 나머지가 0인지 0이 아닌지에 따라 처리를 해보았더니 정상적으로 통과가 되었다.
나머지가 0이 아닐때만 result를 1씩 증가시킨 이유는 2로 나누어 떨어지지 않는수는 홀수이기 때문이다.