function solution(n) {
var answer = 0;
let three='';
while(n > 0) {
three += n%3;
n =Math.floor(n/3);
console.log(three)
}
let len = three.length;
for(let i=0;i<len;i++) {
answer += Math.pow(3,len-1-i) * three[i];
}
return answer;
}
먼저 3진법으로 수를 변환하면서 새로운 나머지를 뒤에 붙여줘서 3진법 역순을 바로 구했다. 즉, 45 -> 1200 -> 0021 순서가 아니라 45 -> 0021 순서로 진행했다. 그리고 10진법으로 변환을 해주었다. 다른 사람의 풀이를 살펴보는데 toString(3)
으로 3진법 변환이 되는 것과 parseInt(수,3)
으로 3진법으로 변화시킬 수 있다는 것을 알 수 있었다.