[프로그래머스 lv.1] 3진법 뒤집기 by JS

개구링·2021년 7월 16일
0
post-thumbnail

✉ Question

🔗 문제링크

문제 설명

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

제한사항

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



💌 Answer

진법 변환 문제
3진수로 변환 후 배열에 넣고 이를 뒤집은 수를 10진수로 변환하였다.

function solution(n) {
    let answer = 0;
    //1.3진수 구하기
    let result = [];

    while(n >= 3) {
        result.push(n % 3);
        n = Math.floor(n / 3);
    }
    result.push(n);
    
    //2.10진수로 바꾸기
    let power = 1;
    for(let i = result.length - 1; i >= 0; i--) {
        answer += result[i] * power;
        power *= 3;
    }

    return answer;
}

profile
기록을 취미로

0개의 댓글

관련 채용 정보