N

(프로그래머스 c++)124 나라의 숫자 본문

프로그래머스 알고리즘/2단계

(프로그래머스 c++)124 나라의 숫자

naeunchan 2020. 5. 6. 09:29
728x90
반응형

10진법의 숫자를 1,2,4의 숫자로 표현해야 한다.

n을 3으로 나눴을 때 나머지가 0이면 4, 1이면 1, 2이면 2를 표현할 수 있게 num[3]을 선언하였다.

n이 0일 때까지 계속 3으로 나눠주도록 한다.

그리고 나머지를 이용하여 num 배열에서 알맞은 숫자를 선택하도록 한다.

rem == 0 일때, n -= 1을 해준다.

그리고 answer에 num[rem] + answer을 계속해서 해주면 124로 표현한 숫자가 나오게 된다.

#include <string>
#include <vector>

using namespace std;

string solution(int n) {
    string answer = "";
    int num[3] = {4,1,2};
    
    while(n > 0)
    {
        int rem = n % 3;
        n /= 3;
        
        if(rem == 0)
            n -= 1;
        
        answer = to_string(num[rem]) + answer;
    }
    return answer;
}
728x90
반응형