[프로그래머스] 3진법 뒤집기 - JavaScript

문제 출처

Lv.1 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

피드백은 언제나 환영입니다. 😊