모든 수를 표현할 때 1,2,4만 사용한다.
자연수 n이 매개변수로 주어질 때, n을 124나라에서 사용하는 숫자로 바꾼 값을 return하는 solution 함수를 완성시켜라.
n진수와는 완전히 다른 방법의 숫자 매김방식.
처음부터 1,2,4를 번갈아가며 사용한다.
알아보기 쉽게 n을 share에 저장해둔다.
숫자 3개가 번갈아 순서대로 나오므로 %3을 하여 remainder에 저장한다.
그리고 share를 3으로 나눠준다.
remainder가 0일 때 answer 앞에 "4"를 붙여주고 share--를 해준다.
remainder가 1 또는 2일 때, answer 앞에 "1","2"를 붙여준다.
이 과정을 while문으로 주어진 n값이 0이 될 때까지 계속 반복한다.
그 결과로 나온 answer값이 정답이다.
#include <string>
#include <vector>
using namespace std;
string solution(int n) {
string answer = "";
int share = n;
int remainder = -1;
while (share != 0) {
remainder = share % 3;
share = share / 3;
if (remainder == 0) { //나누어 떨어질 경우 몫을 1빼준다.
answer = "4" + answer;
share--;
}
else if (remainder == 1) {
answer = "1" + answer;
}
else if (remainder == 2) {
answer = "2" + answer;
}
}
return answer;
}