JavaScript_34.3진법 뒤집기

hams·2023년 5월 1일
0

algorithm

목록 보기
36/62

Q.
자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.


나의 코드

function solution(n) {
    return parseInt(n.toString(3).split('').reverse().join(''),3)
}
  1. toString()을 사용해서 3진수로 변환
  2. split()사용으로 배열화
  3. reverse() 사용으로 뒤집기
  4. join() 으로 배열다시 합쳐주기
  5. parseInt()로 3진수를 다시 10진수화

다른 사람의 코드

const solution = (n) => {
    return parseInt([...n.toString(3)].reverse().join(""), 3);
}

위 코드에서 전개 연산자를 사용해서 배열이나 문자열 등의 iterable 객체를 하나씩 분리해서 개별 요소로 만들어줬다.

  1. n을 먼저 3진수 문자열로 변환하고 n.toString(3)
  2. 이를 문자열 iterable 객체로 만든 후[...n.toString(3)] 배열로 변환
  3. 그 다음 reverse() 함수를 사용해 배열의 요소들을 역순으로 뒤집은 후 .reverse()
  4. 다시 문자열로 합치기 위해 join() 함수를 호출합니다.join("").
  5. 마지막으로 parseInt() 함수를 사용해 3진수 문자열을 10진수 숫자로 변환

0개의 댓글