[프로그래머스] 3진법 뒤집기 - JavaScript
문제 출처
문제 설명
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.
제한 조건
- n은 1 이상 100,000,000 이하인 자연수입니다.
예시
입출력 예
n | return |
---|---|
45 | 7 |
125 | 229 |
풀이
function solution(price, money, count) {
// 1. [...n.toString(3)] n을 3진법 문자열로 변환하고
// 스프레드 문법을 사용하여 배열로 만든다.
// 45 -> '1200' -> ['1', '2', '0', '0']
// 2. .reverse() 배열을 뒤집어준다.
// ['1', '2', '0', '0'] -> ['0', '0', '2', '1']
// 3. .join()을 통해 문자열로 만든 후
// parseInt() 메서드를 통해 3진법을 10진법으로 변환 후 반환한다.
// '0021' -> 7
return parseInt([...n.toString(3)].reverse().join(""), 3);
}
console.log(solution(45)); // 7
console.log(solution(125)); // 229
정리
오늘은 월간 코드 챌린지 문제입니다. 다양한 자바스크립트 메서드를 사용하여 간단하게 문제를 풀어봤습니다.
사용된 메서드와 문법에 대해 더 공부하고 싶으신 분은 링크를 클릭해주세요!
toString() 메서드 - MDN
reverse() 메서드 - MDN
join() 메서드 - MDN
parseInt() 메서드 - MDN
스프레드 문법 - MDN
피드백은 언제나 환영입니다. 😊