본문 바로가기
코딩테스트/LV. 1

LV. 1 :: 3진법 뒤집기

by KUROMI98 2023. 1. 28.

https://school.programmers.co.kr/learn/courses/30/lessons/68935

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

function solution(n) 
{
    var arr = [];
    var answer = 0;
    
    while(n!==0)
    { // n이 0이 될 때 까지
        arr.push(n%3); // n을 3으로 나눈 나머지를 arr 배열에 넣어준다
        n=Math.floor(n/3); // n을 3으로 나눈 몫을 다시 n으로 만든다
    }
    // arr = [2,2,1,1,1] 이 된다.
    
    arr.reverse(); // arr = [1,1,1,2,2] 가 된다.
    
    for(i=0;i<arr.length;i++) 
    {
        answer += arr[i]*3**i;
    }
    // arr을 십진수로 만들어 준다. answer에 arr[i]*3^i 를 다 더해 넣어준다.
    // [1,1,1,2,2] 는 229가 되는 것이다.
    
    return answer;
}

'코딩테스트 > LV. 1' 카테고리의 다른 글

LV. 1 ::숫자 문자열과 영단어  (0) 2023.01.28
LV. 1 :: 두 개 뽑아서 더하기  (0) 2023.01.28
LV. 1 :: 2016년  (0) 2023.01.27
LV. 1 :: 이상한 문자 만들기  (0) 2023.01.27
LV. 1 :: 완주하지 못한 선수  (0) 2023.01.27

댓글