< 문제 >
풀이
- 10진수 -> 3진수 -> 한번문자열을 뒤집고 -> 10진수으로 표현
먼저 10진수에서 다른진수로 변환할때는- toString(변환할진수)을 사용하고
다른진수에서 10진수로 변환할때는- parseInt(문자열, 10진수로 변환할 진수)
를 이용한다.
그래서 10진수를 -> n.toString(3)으로 3진수로 바꾸고,
바꾼 문자열을 반복돌면서 뒤집고 (split으로 배열로 바꿔서 reverse로 뒤집기도 가능)
뒤집은 문자열을 parseInt(reverseString, 3)를 이용해 -> 10진수로 바꾼 풀이
function solution(n) {
let reverseString = '';
const base3 = n.toString(3);
for (let i = base3.length - 1; i >= 0; i--) {
reverseString += base3[i];
}
return parseInt(reverseString, 3);
}
console.log(solution(45));
console.log(solution(125));