자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
n (10진법) | n (3진법) | 앞뒤 반전(3진법) | 10진법으로 표현 |
---|---|---|---|
45 | 1200 | 0021 | 7 |
function solution(n) {
return parseInt(n.toString(3).split("").reverse().join(""),3);
}
자연수 n을 3진법으로 바꾸기 위해 toString(3)을 하였고, split()으로 문자열 배열로 바꿔준뒤 reverse()로 뒤집고, join()으로 다시 합쳐주었다. 마지막으로 3진법을 10진수로 바꾸기 위해 parseInt()를 사용했다. 현재 진수값이 3진수 이기때문에 parseInt( ,3)처럼 적어줘야 한다.
최근에 String()과 toString()을 비교하며 toString을 사용해서 진수 변환을 해주는 내용을 정리한 적이 있는데 이렇게 도움이 되니 신기했다.