반갑습니다!

[프로그래머스] 124 나라의 숫자 본문

알고리즘 문제 풀이

[프로그래머스] 124 나라의 숫자

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

풀이

1, 2, 4를 이용해서 숫자를 출력하므로 3진법처럼 구현하면 된다.
이 때 3, 6, 9 ... 등의 3으로 나눈 나머지가 0이 되는 숫자들을 별도의 처리해주어 구현하면 된다.

코드

#include <string>
using namespace std;

string solution(int n) {
    string answer = "";
    while (n > 0) {
        if (n % 3 == 0) {
            answer = "4" + answer;
            n = (n / 3) - 1;
        }
        else {
            answer = to_string(n % 3) + answer;
            n /= 3;
        }
    }
    return answer;
}