문제 설명
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
제한사항
n은 1 이상 100,000,000 이하인 자연수입니다.
음.... 일단 3진법으로 어떻게 바꿀지 생각해보아야 한다.
3진법이면 0, 1, 2 로만 숫자를 표현해야 한다.
찾아보니 아주 좋은게 있었다..!
value.toString()
진법으로 변환해주는 함수.
3진법으로 변환하고 싶으면
value.toString(3)을 해주면 된다고 한다. 일단 콘솔 찍어서 시험해보기
잘 된다! 이제 이 수를 거꾸로 뒤집는 방법은 .reverse()
근데 이건 배열에 있는 요소니까 먼저 split("")부터 해주고 써주어야 한다.
reverse 후에는 다시 join("")
그리고 다시 10진법으로 바꿔주는것
Number.parseInt(a, b)
a에는 바꾸고 싶은 수
b에는 몇진법인지 작성하면 된다.
function solution(n) {
return Number.parseInt(n.toString(3).split("").reverse().join(""),3)
}
좀 가독성은 떨어지지만 ㅎㅎㅎㅎ
4점 냠냠