Java

프로그래머스: 가장 큰 수

Daeryuk Kim 2024. 3. 30. 22:49

내가 짠 코드는 아니다.

매우 직관적으로 짜여서 놀랐다. "이렇게 깔끔하다고?"가 처음 든 생각이었다. 

import java.util.*;
public class Solution {
    public String solution(int[] numbers) {
        String[] nums = new String[numbers.length];

        for (int i=0; i<nums.length; i++) 
            nums[i] = numbers[i] + "";

        Arrays.sort(nums, new Comparator<String>() {
            public int compare(String o1, String o2) {
                return (o2 + o1).compareTo(o1 + o2);
            }
        });

        String ans = "";
        for (int i=0; i<numbers.length; i++)
            ans += nums[i];

        return ans.charAt(0) == '0' ? "0" : ans;
    }
    public static void main(String[] args) {
        Solution sol = new Solution();
        int[] numbers = {3, 30, 34, 5, 9};
        System.out.println(sol.solution(numbers));
    }
}