Coding_Test 연습/Programmers

[프로그래머스] (C++) LV2 124 나라의 숫자

Codetesing 2022. 4. 28. 15:23

어렵진 않았음.

10진법을 3진법으로 바꾸는 문제이다.  다만 3으로 나누어 떨어질때, 별도의 처리가 필요했다.

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

string solution(int n) {
    string answer = "";


    for (int i = 3; n != 0; n /= 3)
    {
        if (n % 3 == 1)
            answer += '1';
        else if (n % 3 == 2)
            answer += '2';
        else
        {
            answer += '4';
            n -= 3;
        }
    }

    reverse(answer.begin(), answer.end());

    return answer;
}