[Programmers]-문자열 내 마음대로 정렬하기
문제
문자열 n번째 인덱스를 가지고 오름차순 정렬을하면된다. 인덱스n의 문자가 같을 경우 사전순으로 위치한다.
코드
import java.util.*;
class Solution{
public String[] solution(String[] strings, int n) {
Arrays.sort(strings, new Comparator<String>() {
@Override
public int compare(String a, String b){
if(a.charAt(n) > b.charAt(n))
return 1;
else if(a.charAt(n) < b.charAt(n))
return -1;
else
return a.compareTo(b);
}
});
return strings;
}
}
코드 설명
요즘 오버라이딩을 많이 보고있어서 정렬도 한번 해보려고했다. 처음 Arrays.sort할 때 바로 오버라이딩을 씌울 수 있어서 쉽게 된거같다. 인덱스 n번째 값이 같으면 두 문자열을 compareTo()로 비교해주면 사전순으로 정렬된다.
요약
- sort내에서 바로 오버라이딩하기
- 람다도 좀 알아봐야겠다.