https://programmers.co.kr/learn/courses/30/lessons/12899
3으로 나눴을 때의 나머지를 더해준다. 나머지가 0 인 경우에만 몫에서 1을 뺀후 4를 더하는 규칙이 있다.
function solution(n) {
let answer = '';
let num = n;
let share = 0;
let rest = 0;
// 몫이 0보다 큰 경우 반복
while(num > 0) {
// 몫
share = parseInt(num / 3);
// 나머지
rest = num % 3;
// 나머지가 0 인 경우
if (rest === 0) {
// 몫에서 1을 뺌
share -= 1;
// 기존 수에 앞에 4를 붙임
answer = '4'.concat(answer);
} else {
answer = String(rest).concat(answer);
}
// 몫을 num으로 초기화
num = share;
}
return answer;
}