DEVLOG

프로그래머스 알고리즘#13 - 3진법 뒤집기 본문

dev log/algorithm

프로그래머스 알고리즘#13 - 3진법 뒤집기

meroriiDev 2020. 12. 21. 11:42
728x90
반응형

<문제>

 

<풀이>

먼저 10진법의 n을 앞뒤반전된 3진법으로 바로 바꾸고

그 3진법을 뒤에서부터 3의 거듭제곱을 곱한값을 모두 더해 10진법으로 나타낸다.

 

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

그런데 여기서 나는 처음에 제곱이라는 것을 3^x라고 표현했는데

아무리해도 제곱이 표현이 안됐다......

이 ^라는 기호가 어디서 기억이 났는지는 몰라도

자바스크립트에서 제곱값을 구하려면 Math.pow( )함수를 사용해야한다!

 

 

+다른사람코드

const solution = (n) => {
    return parseInt([...n.toString(3)].reverse().join(""), 3);
}

와... toString에 이런 기능이 있는지는 처음알았다.

728x90
반응형
Comments