자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
이미지 출처: https://velog.io/@kihyeon8949/Algorithm-3%EC%A7%84%EB%B2%95-%EB%92%A4%EC%A7%91%EA%B8%B0
function solution(n) {
var answer = [];
var sum=0;
while(n){
answer.push(n%3)
n= Math.floor(n/3)
}
answer = answer.reverse()
for(let i=0;i<answer.length;i++){
sum=sum+((3**i)*answer[i])
}
return sum
}
const solution = (n) => {
return parseInt([...n.toString(3)].reverse().join(""), 3);
}
만약 n이 45라면
n.toString(3)
==>'1200'
toString(3) <= 3진법으로 표현가능
[...n.toString(3)]
을 통해 쪼갤수있다.
ex.[...'1234']
==>['1', '2', '3', '4']
parseInt('0012',3)
=> 3x1 + 1x2 = 5