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

Seungmin Shin·2022년 1월 10일
1

필요조건

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

제한사항

1. n은 1 이상 100,000,000 이하인 자연수입니다.

입출력예시

nresult
457
125229

수도코드

1. 10진법을 3진법으로 바꾼다.
2. 3진법을 앞뒤반전한다.
3. 앞뒤반전된 3진법을 다시 10진법으로 바꾼다.

코드작성

function solution(n) {
    let a = n.toString(3).split('').reverse().join('')
    return parseInt(a, 3)
}

코드해석

toString안에 radix값을 넣어주어서 n진법의 문자열로 변환한다.
그 다음 split과 reverse로 문자열을 쪼갠다음 뒤집어주고
join으로 나뉘어진 배열을 하나로 합쳐준다.
마지막으로 나온 변수 a를 10진수로 변환시켜주어야 하는데
parseInt를 이용하여 변환시켜준다. 3진수를 10진수로 변화시켜야하기때문에
인덱스를 3으로 넣어준다. 간단하게 n진법을 -> m진법으로 교체해야된다면
인덱스로 n을 넣으면 된다.
profile
Frontend Developer

0개의 댓글