[プログラマー]124カ国の数字


[問題の核心]:nアレイビット数を下げる

  • の残りの問題に焦点を当てます.
  • 剰余が0の場合、現在のビット値から1を減算して演算する.
  • [最適な回答]

    class Solution {
      public String solution(int n) {
          String[] numbers = {"4", "1", "2"};
          String answer = "";
          
          int num = n;
          
          while(num > 0){
              int remainder = num % 3;
              num /= 3;
              
              if(remainder == 0) num--; //0일 때, 자리수 내림
              
              answer = numbers[remainder] + answer;
          }
          
          return answer;
      }
    }

    [私の答え]

    class Solution {
        public String solution(int n) {
            String answer = "";
    
            while (n > 0) {
                int remainder = n % 3;
     	
     			n /= 3;
    
                if (remainder == 0) n--;
    
                if(remainder == 0) {
                answer = "4" + answer;
                }
    
                if(remainder == 1) {
                    answer = "1" + answer;
                }
    
                if(remainder == 2) {
                    answer = "2" + answer;
                }
            }
            return answer;
        }
     }