👩🏫 문제설명
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
- n은 1 이상 100,000,000 이하인 자연수입니다.
입출력 예
입출력 예 설명
입출력 예 1)
| n (10진법) | n (3진법) | 앞뒤 반전(3진법) | 10진법으로 표현 |
|---|
| 45 | 1200 | 0021 | 7 |
입출력 예 2)
| n (10진법) | n (3진법) | 앞뒤 반전(3진법) | 10진법으로 표현 |
|---|
| 125 | 11122 | 22111 | 229 |
✍ 문제해설
function solution(n) {
const ternary= n.toString(3).split('').reverse().join('');
const answer = parseInt(ternary,3);
return answer
}
console.log(solution(125));
function solution(n) {
let ternaryArr = [];
let answer = 0
while( n !== 0 ) {
ternaryArr.unshift(n % 3);
n = Math.floor(n / 3);
}
ternaryArr.forEach((value,index)=>{
answer = answer + Math.pow(3,index) * value
})
return answer
}