자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
| n | return |
|---|---|
| 45 | 7 |
| 125 | 229 |
function solution(n) {
return parseInt(n.toString(3).split('').reverse().join(''),3)
}
입력받은 값 n을 .toString(3)을 사용해 3진수의 String으로 만들어준다. 그리고 이것을 .split()으로 나누어 배열로 만들어주고, .reverse()를 사용해 역순으로 뒤집은 뒤, 다시 join()해서 String으로 바꿔준다. 끝으로 parseInt()를 사용해 3진수 String을 10진수 Number로 만들어 return 해준다.
.toString([radix])
보통 .toString()은 number객체를 String으로 변환하기 위해 사용했었는데 2와 36사이의 정수를 매개변수로 받아 매개변수로 받은 진수로 변환하는데 사용될 수도 있다는 것을 알게 되었다.
parseInt(string, radix)
parseInt() 역시 optional한 매개변수를 지원하고 있었다. 2부터 36까지의 정수를 파싱할 값 뒤에 매개변수로 넣어주면 파싱할 값의 String을 넣어준 정수의 진수에서 10진수의 number객체로 변환해줄 수 있다.