public class Pro_문자열내림차순정렬하기 {
public String solution(String s) {
String answer = "";
String[] arr= s.split("");
// Collections.reverseOrder()를 인자로 전달하거나
// Comparator를 직접 구현해줘야함
Arrays.sort(arr,Collections.reverseOrder());
for(String str: arr){
answer+=str;
}
return answer;
}
}
기본적인 문제이지만 Arrays.sort를 이용한 내림차순 정렬 방법이 제대로 숙지되어 있지 않아 짚어보려고 한다.
Arrays.sort()는 주어진 배열을 오름차순으로 정렬하는 메서드이다.
Comparable이 구현된 객체라면 적용이 가능하다.
이 메서드를 이용해 내림차순으로 정렬하려면 다음과 같은 방법이 있다.
Collections.reverseOrder()를 넘기기
Arrays.sort(arr, Collections.reverseOrder());
Comparator를 직접 구현하기
Arrays.sort(arr, new Comparator<Integer>() {
@Override
public int compare(Integer i1, Integer i2) {
return i2 - i1;
}
});