[プログラマ]ソート-レベル2の最大数


質問する


[プログラマ-JAVA]ソート-レベル2最大数

に答える

  • 辞書式配列を用いて並べ替え関数を確立した.
  • 比較関数
  • を使用して、2つの文字列を異なる順序で並べて、より大きな文字を前に表示します.
    最後に
  • numbers配列の要素がいずれも0の場合の異常を処理した.
  • import java.util.*;
    class Solution {
        public String solution(int[] numbers) {
            String answer = "";
            
            String[] arr = new String[numbers.length];
            for(int i = 0 ; i < arr.length; i++){
                arr[i] = Integer.toString(numbers[i]);
            }
            
            Arrays.sort(arr, new Comparator<String>(){
                @Override
                public int compare(String str1, String str2){
                    return (str2+str1).compareTo(str1+str2);
                }
            });$
            
            for(String i : arr)
                answer += i;
            
            // numbers의 모든 원소가 0일 경우 
            if(arr[0].equals("0"))
                answer = "0";
            
            return answer;
        }
    }
  • C++でアルゴリズムの問題をする時、私は多くの比較関数の定義とソートをして、javaでほとんど初めてしました.
  • Comparatorクラスを使用して比較する方法を覚えておいてください.