스터디/Algorithm

[프로그래머스스쿨] 가장 큰 수 java (lv.2)

혜유우 2024. 5. 3. 01:11

https://school.programmers.co.kr/learn/courses/30/lessons/42746

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

내 풀이

 

    import java.util.*;

class Solution {
public String solution(int[] numbers) {
String answer = "";
String[] arr = new String[numbers.length];

    for(int i=0;i<numbers.length;i++){
        arr[i] = String.valueOf(numbers[i]);
    }


    Arrays.sort(arr, (o1, o2)-> (o2+o1).compareTo(o1+o2));


    for(int i=0;i<numbers.length;i++)
        answer+=arr[i];

    if(arr[0].equals("0"))
        return "0";

    return answer;
}

}

 

 

 

 

Arrays.sort

커스텀하여 정렬하기

import java.util.Arrays;
import java.util.Comparator;
public class Main {
    public static void main(String[] args) {
    	// Integer 배열 선언
        Integer[] int_arr = {100, 99, 80, 60 ,50, 101};
        Arrays.sort(int_arr, new iComparator());

        for (int i = 0; i < int_arr.length; i++)
            System.out.print(int_arr[i]+ " ");
        System.out.println();
        
        // String 배열 선언
        String[] s_arr = {"z", "a", "v", "s", "b", "m"};
        Arrays.sort(s_arr, new sComparator());


        for (int i = 0; i < s_arr.length; i++)
            System.out.print(s_arr[i]+ " ");
        System.out.println();
        
    }
    
    public static class iComparator implements Comparator<Integer> {
        @Override
        public int compare(Integer o1, Integer o2) {
            return o2 - o1;
        }
    }
    
    public static class sComparator implements Comparator<String> {
        @Override
        public int compare(String o1, String o2) {
            return o2.compareTo(o1);
        }
    }