우선 해당 문제의 규칙을 이해하는데도 한참 걸렸다.
숫자 진법으로 바꾸는 문제라고만 생각을 했는데, 아무리봐도 규칙이 보이지가 않아서 다른 블로그를 참고해보니 나머지가 0일 때는 나머지를 4로 표기하고 몫을 1 감소시켜야 하는 규칙이 있었다.
function solution(n) {
var answer = '';
var q = parseInt(n / 3);
var r = n % 3;
if (r == 0) {
r = 4;
q--;
}
answer = r;
while (q > 0) {
r = q % 3;
q = parseInt(q / 3)
if (r == 0) {
r = 4;
q--;
}
answer = r + "" +answer;
}
q = q <= 0 ? "" : q
answer = q + "" + answer;
return answer;
}