3진수로 변환하는 문제와 같은 유형의 문제이다. 3진수는 0 1 2 로 표현되지만 주어진 문제 조건처럼 1 2 4 로 표현하면 된다.
#include <string>
#include <vector>
using namespace std;
string solution(int n) {
string answer = "", my_base = "124";
while (n) {
answer = my_base[(n-1)%3] + answer;
n = (n-1)/3;
}
return answer;
}