단어 정렬 - 1181

Seongjin Jo·2023년 5월 2일
0

Baekjoon

목록 보기
18/51

핵심

이 문제는 정렬하는 핵심만 알면 될것같다.

Arrays.sort(arr, new Comparator<String>() {
            @Override
            public int compare(String s1, String s2) {
                // 단어 길이가 같을 경우
                if (s1.length() == s2.length()) {
                    return s1.compareTo(s2); // 사전순 : compareTo
                }
                // 그 외의 경우
                else {
                    return s1.length() - s2.length(); // 길이 짧은 순 : 오름차 순
                }
            }
        });

일반 arr[] 배열이 있다고 하자. 일반 배열은 Arrays.sort()를 이용해서 정렬한다.
여기서 좀 더 세부적으로 정렬할수있는 기능이있다. 바로 Comparator이다.
위 방식대로 선언한 후에 @Override를 통해서 메소드 오버라이딩을 통해서 새로 정의한다.
여기서 사전순으로 정렬하려면 compareTo()함수를 이용한다. 그리고 길이에 따른 오름차,내림차 순으로 정렬하려면 오름차순은 양수 내림차순은 음수로 만들어준다.

0개의 댓글