Lv.1 3진법 뒤집기

정현승·2025년 1월 5일

문제

https://school.programmers.co.kr/learn/courses/30/lessons/68935
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.

정답 코드

function solution(n) {
  const str = n.toString(3);
  let reversed = "";
  for (let i = str.length - 1; i >= 0; i--) {
    reversed += str[i];
  }
  return parseInt(reversed, 3);
}

해설

  1. n을 toString(3)으로 3진법으로 바꿔준다. (str = '1200')
  2. 3진법으로 바꾼 것을 뒤에서부터 reversed에 추가한다. (reversed = '0012')
  3. parseInt(reversed, 3)를 이용하여 reversed를 3진법에서 10진법으로 바꿔준다.

0개의 댓글