Algorithm
[Algorithm/Java][프로그래머스] 문자열 내 마음대로 정렬하기
kkmin223
2022. 1. 11. 01:50
반응형
[프로그래머스] 문자열 내 마음대로 정렬하기
https://programmers.co.kr/learn/courses/30/lessons/12915
문제접근
문자열에서 n번째 문자로 먼저 정렬하고 나머지는 사전순으로 정렬을 해야하기 때문에 기존에 sort 알고리즘으로는 정렬을 할 수가 없어서 Comparator에 compare함수를 직접 커스텀해서 Arrays.sort를 사용하였다.
Code
import java.util.*;
class Solution {
public String[] solution(String[] strings, int n) {
Arrays.sort(strings,new Comparator<String>() {
@Override
public int compare(String s1, String s2){
if(s1.charAt(n) == s2.charAt(n)){
return s1.compareTo(s2);
} else {
return s1.charAt(n) - s2.charAt(n);
}
}
});
return strings;
}
}
어려웠던 점/ 배운 점
Arrays.sort에서 두 번째 매개변수에서 Comparator를 새로 만들어서 compare함수를 오버라이드 하는 방식으로 커스텀해서 정렬하는 방식을 사용했다. 이와 같은 방법으로 배열 뿐만 아니라 컬렉션들을 정렬할 때도 동일한 방식으로 사용할 수 있다.
반응형