プログラマー-124カ国


質問する



解法


ルールを
  • 3に分割したときに発生するルール
    (1,2,4,11,12,14...)
  • 3のn乗形式で構成されている.
    (1桁3個、2桁9個、3桁27個…)
  • 3でtemp/3-1で割る
    3に分けて1を残すとMathfloor(temp/3);
    3に分けて2を残すとMathfloor(temp/3);
  • while文をtempが0未満になるまで実行

    コード#コード#

    function solution(n) {
     let answer = '';
     let temp = n;
    
      while(temp > 0) {
         if(temp%3 === 0){
           answer = '4' + answer;
           temp = temp/3 -1;
         }else if(temp%3 === 1){
           answer = '1' + answer;
           temp = Math.floor(temp/3);
         }else if(temp%3 === 2){
           answer = '2'+ answer;
           temp = Math.floor(temp/3);
         } 
       }
    
       return answer;
    }