https://gmlwjd9405.github.io/2018/09/06/java-comparable-and-comparator.html
자바에서 정렬할 때는 항상 Comparable을 상속하여 사용하고는 했는데 이 문제에서와 같이 Comparator를 사용해야하는 경우도 있다. Comparator의 사용법을 기억하자!
Comparator는 기본적으로 Object를 매개변수로 받아서 비교한다. 따라서, Comparator를 통해 정렬을 하고자할 때 정렬 대상이 primitive 타입이라면 wrapper 클래스를 이용해 Object로 만들어서 매개변수로 넘겨야 한다.
import java.util.Arrays;
import java.util.Comparator;
class Solution {
public String[] solution(String[] strings, int n) {
//Comparator 클래스 정렬 3가지
/*
- 컴패러블 인터페이스 만들고 상속하는 클래스 -> 컴패어 투 매서드 오버라이드
- 어레이, 컬랙션소트 안에다 직접 익명객체 컴패래이터 넣어주는 방법..!
- 람다..!!
*/
Arrays.sort(strings, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
char c1 = o1.charAt(n);
char c2 = o2.charAt(n);
/*if(c1 > c2) {
return 1;
}
else if(c1 < c2) {
return -1;
}
else if(c1 == c2) {
return o1.compareTo(o2);
}*/
if(c1 == c2) {
return o1.compareTo(o2);
}else {
return c1-c2;
}
//
}
});
return strings;
}
}