Sungtt

Lev.1 프로그래머스 3진법 뒤집기 본문

코테

Lev.1 프로그래머스 3진법 뒤집기

sungtt 2023. 3. 21. 13:00

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

 

문제 설명 

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

 

제한사항

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

 

 

직접 풀이 결과

function solution(n) {
    return parseInt([...n.toString(3)].reverse().join(''),3);
}

 

 

크게 풀어낼만한 코드가 아닌거같다.

문제에서 설명하는 그대로를 구현하며 return 해주었다.

다만 n진법으로 변경하는 방법에 대해 알아두면 좋을듯하다.

 

참고 풀이 결과 - 1

function solution(n) {
    const answer = [];
    while(n !== 0) {
        answer.unshift(n % 3);
        n = Math.floor(n/3);
    }
    return answer.reduce((acc,v,i) => acc + (v * Math.pow(3, i)),0);   
}

n진법으로 변경하는 과정을 내장메소드가 아니라 직접 구현하였다.

 

 

Comments