콘솔창 & 윈도우창/코딩 테스트

프로그래머스 LV.2 점프와 순간이동

뽀또치즈맛 2024. 11. 9. 16:47

 

https://school.programmers.co.kr/learn/courses/30/lessons/12980

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

출발할 때 점프하는 것은 불가피하다 무조건 +1 0*2 = 0이니깐.

 

순간이동은 현재까지 온 거리의 2배이고
건전지를 소모하지 않기 때문에 최대한 많이 사용해야 한다.

 

순간이동을 했을 때 딱 맞아 떨어지지 않는 경우,
즉 x*2 가 딱 맞아떨어지지 않는 경우에 ans += 1을 해주면 된다.

 

#include <iostream>
using namespace std;

int solution(int n)
{
    int ans = 0;

    while (n > 0)
    {
        ans += n % 2;
        n /= 2;
    }

    return ans;
}