[アルゴリズム]反転バイナリ


問題)自然数nはパラメータである.nを三進法で前後に逆さまにし、それを十進法で表す数で返し、解関数を完成させる.
function solution(n) {
    let answer = 0;
    let n3=[];
    let a=0;
    while(true){
        a=n%3;
        n3.push(a);
        n=parseInt(n/3);
        if(n===0){
            break;
        }
    }
    for(let j=0; j<n3.length;j++){
        answer+=(3**j)*n3[n3.length-j-1];
    }
    return answer;
}
まず,三振法を変えるためにwhileゲートを用いて残りの3をn 3に分ける.その後、シェアが0の場合、breakを使用してwhileゲートを終了できます.そして配列の末尾の数字に3のjを乗じて、答えを加えます.