문제
https://school.programmers.co.kr/learn/courses/30/lessons/12980
목적지까지 도달하는데 필요한 최소한의 배터리를 구하는 문제였다.
문제 풀이
굉장히 쉬운 문제였는데 왜 level 2인지 잘 모르겠다. 마지막 ans++을 해준 이유는 마지막 n이 짝수든 홀수든 2/2 = 1, 3/2 = 1 로 1이 남게 되어 건전지 수를 1 더해줘야 하기 때문이다.
#include <iostream>
using namespace std;
int solution(int n)
{
int ans = 0;
while(n>1){
if(n%2 == 1){
ans++;
}
n/=2;
}
ans++;
return ans;
}