[프로그래머스] 점프와 순간이동

leejihun·2022년 11월 13일
0

알고리즘

목록 보기
33/50

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

#include <iostream>
using namespace std;

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



    //5-> 4 2 1-> 0 2°³
    //6 3 -> 2 1-> 0  2°³
    //5000 2500 1250 625 ->624 312 156 78 39 -> 38 19 -> 18  9 -> 8 4 2 1 -> 0 5°³

    while (n > 2)
    {
        if (n % 2 == 1)
        {
            n -= 1;
            ans++;
        }
        else
            n /= 2;
    }

    return ans;

}

주어진 수 부터 2로 나눠가며 2로 나누어 떨어지지 않으면 1을 빼주고
나눠주면 되는 간단한 문제였다.

profile
U+221E

0개의 댓글