반응형
[프로그래머스] 문자열 내 마음대로 정렬하기
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함수를 오버라이드 하는 방식으로 커스텀해서 정렬하는 방식을 사용했다. 이와 같은 방법으로 배열 뿐만 아니라 컬렉션들을 정렬할 때도 동일한 방식으로 사용할 수 있다.
반응형
'Algorithm' 카테고리의 다른 글
[Algorithm/Java][LeetCode] 21. Merge Two Sorted Lists (0) | 2022.01.16 |
---|---|
[Algorithm/Java][BOJ] 1439번 뒤집기 (0) | 2022.01.16 |
[Algorithm/Java][프로그래머스] [1차] 비밀지도 (0) | 2021.10.02 |
[Algorithm/Java][프로그래머스] 3진법 뒤집기 (0) | 2021.09.05 |
[Algorithm/JAVA][프로그래머스] 실패율 (0) | 2021.09.04 |