🧬알고리즘/Programmers
[JavaScript] 3진법 뒤집기
뉴발자
2024. 8. 29. 20:07
728x90
문제
자연수 n이 매개변수로 주어진다.
n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 반환하는 함수를 작성하라.
예시
n (10진법) | n (3진법) | 앞뒤 반전 (3진법) | 10진법으로 표현 |
45 | 1200 | 0021 | 7 |
나의 풀이
const solution = n => parseInt(n.toString(3).split("").reverse().join(""), 3);
풀이 방법
1. toString(3)을 사용해서 숫자 n을 3진법으로 변환한다.
n.toString(3)
// n = 1200
2. split() 함수를 사용해서 배열로 변환한 후 reserver() 함수를 사용해서 역정렬해준다.
n.toString(3).split("").reverse()
3. join() 함수를 사용해서 문자열로 변환한 후 parseInt() 함수로 10진수로 변환한다.
parseInt(n.toString(3).split("").reverse().join(""), 3);
// parserInt의 2번째 요소로 해당 숫자의 진법을 넣을 수 있다.
// ex) parseInt(number, 3) -> 3진법 -> 10진법
728x90