문제
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
제한 사항
- n은 1 이상 100,000,000 이하인 자연수입니다.
입출력 예시
3진법...? 자바스크립트에서 그런게 가능하던가? 싶다가도 가능하니까 문제로 나왔겠지.. 하는 마음에 이건 검색을 좀 해봤다.
- toString() 메소드는 일반적으로 특정 객체를 문자열로 변환하는 기능을 담당하지만, 원하는 10진수를 특정 진수로 변경하고 싶을 때도 사용할 수 있다.
- parseInt() 메소드는 일반적으로 특정 문자열을 특정 진수의 정수로 반환한다.
toString에 저런 기능까지 있는 줄 전혀 몰랐다.
n.toString(3)으로 3진수로 변환하고 이걸 배열로 만들어 reverse로 뒤집고 그 배열을 join 써서 문자열로 바꾼 다음 그걸 다시 parseInt로 10진수로 바꾸면 ... !!
function solution(n) {
return parseInt([...n.toString(3)].reverse().join(""), 3);
}