프로그래머스/2레벨

124 나라의 숫자/C++

Koalitsiya 2023. 1. 17. 16:19
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

3진법과 같다고 생각하고 접근했다.

 

1. n이 0이 아닐때까지 num에 n % 3을 담고 n/= 해준다.

2-1. num == 0일 때 answer의 앞에 "4"를 더해주고 n--한다.

2-2. num == 1일 때 answer의 앞에 "1"을 더해준다.

2-3. num == 2일 때 answer의 앞에 "2"를 더해준다. 

3. 반복문이 끝나면 answer 리턴

#include <string>
#include <vector>

using namespace std;

string solution(int n) {
    string answer = "";
    
    while (n!=0) {
        int num = n % 3;
        n /= 3;

        if (num == 0) {
            answer = "4" + answer;
            n--;
        }
        else if (num == 1) answer = "1" + answer;
        else if (num == 2) answer = "2" + answer;
    }

    return answer;
}