프로그래머스Lv1 - 3진법 뒤집기

요리하는코더·2021년 8월 11일
0

알고리즘 - 문제

목록 보기
14/48
post-thumbnail

코드

function solution(n) {
    var answer = 0;
    let three='';
    while(n > 0) {
        three += n%3;
        n =Math.floor(n/3);
        console.log(three)
    }
    
    let len = three.length;
    
    for(let i=0;i<len;i++) {
        
        answer += Math.pow(3,len-1-i) * three[i];
    }
    return answer;
}

풀이 및 소감

먼저 3진법으로 수를 변환하면서 새로운 나머지를 뒤에 붙여줘서 3진법 역순을 바로 구했다. 즉, 45 -> 1200 -> 0021 순서가 아니라 45 -> 0021 순서로 진행했다. 그리고 10진법으로 변환을 해주었다. 다른 사람의 풀이를 살펴보는데 toString(3)으로 3진법 변환이 되는 것과 parseInt(수,3)으로 3진법으로 변화시킬 수 있다는 것을 알 수 있었다.

profile
요리 좋아하는 코린이

0개의 댓글