자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
function solution(n) {
let ternary = n.toString(3).split('').reverse().map(e=>Number(e))
for(let i = 0; i < ternary.length -1; i++){
ternary[i+1] = ternary[i+1] + ternary[i]*3
}
return ternary[ternary.length-1]
}
function solution(n) {
return parseInt(n.toString(3).split('').reverse().join(''), 3)
}
parseInt(number, radix) 메소드를 number를 radix 진법으로 변환하는 메소드로 잘못 알아서 안쓰다가 풀고나서 로그 찍어보니 parseInt는 number의 진법을 지정해주면 10진법으로 변환 해주는 메소드였다.
체이닝으로 한줄컷 가능한 문제였는데 🤦
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges#