프로그래머스를 풀다가 새로 알게된 parseInt()
함수와 toString()
함수의 인자의 존재를 기록해 놓을려고 블로그에 작성하게 되었다.
문제: 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
n | result |
---|---|
45 | 7 |
125 | 229 |
function solution(n) {
return parseInt(n.toString(3).split('').reverse().join(''), 3);
}
function solution(n) {
const ternary = n.toString(3)
// 2~36 사이의 진수를 넣어서 10진수를 다른 진수로 변화시킬수 있다. 위의 식은 3진수로 변환한 것
.split('')
// 배열의 순서를 반전시키는 array.reverse()를 사용하기 위해서 배열로 만든다.
.reverse()
// 배열을 뒤집는다.
.join('');
// 뒤집은 배열을 다시 합친다.
return parseInt(ternary, 3);
// parseInt의 두 번째 인자는 2~36 사이의 진수를 받아서 10진수로 변환한다.
}