Level1 - 3진법 뒤집기

Lee Ju-Hyeon(David)·2021년 11월 6일
0
post-thumbnail

문제출처

Solution

function solution(n) {
  var answer = 0;
  let num3 = []
  while (n > 2) {
    num3.push(n % 3)
    n = parseInt(n / 3)
  }
  num3.push(n)
  num3.reverse()
  answer = num3.reduce((acc, cur, idx) => acc + cur * Math.pow(3, idx))

  return answer;
}

Cleanup

const solution = (n) => {
    return parseInt([...n.toString(3)].reverse().join(""), 3);
}
  • toString을 이용해 n을 3진법 문자열로 변경

    toString 참고

  • 변경된 문자열을 전개 연산자를 이용해 각 문자를 분리해 배열로 저장

  • 변경된 배열을 뒤집은 뒤 10진 parseInt로 10진법으로 변경

    parseInt 참고

0개의 댓글