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
'🧬알고리즘 > Programmers' 카테고리의 다른 글
[JavaScript] 부족한 금액 계산하기 (0) | 2024.09.10 |
---|---|
[JavaScript] 약수의 개수와 덧셈 (0) | 2024.09.09 |
[JavaScript] 두 개 뽑아서 더하기 (0) | 2024.08.29 |
[JavaScript] 키패드 누르기 - 2020 카카오 인턴십 (0) | 2024.08.29 |
[JavaScript] 크레인 인형 뽑기 게임 - 2019 카카오 개발자 겨울 인턴 (0) | 2024.08.27 |
댓글