1,2,4이니까 3진법으로 생각하자! 0대신 4로 치환하여 생각해보자.
그리고 3진법에서 자리수가 올라가는것과, 124나라에서 자릿수가 올라가는 규칙을 찾아보자
function solution(n) {
var answer = '';
var numArr = ["4","1","2"];
while(n >0){
answer = numArr[n%3] + answer;
//몫에서 1을 빼주는 이유는 3진법일경우엔 2다음에 자리수가 올라가지만,
// 여기선 2다음에 나오는 숫자는 4인데, 배열의 첫번쨰 원소로 들어가있다.
// 따라서 몫에서 1을 뺸 값을 넣어줘야한다.
n = parseInt((n-1)/3);
}
return answer.toString()
}
n진법 쓸때는 항상, .toString(n)으로 표현했는데, 실제로 직접 구현하는 원리를 알아보니 신기하였다. 또한 단순 진법 구현이 아닌, 자리수 올라가는 응용버전을 보니 아직 부족함이 많다고 느꼈다.