[프로그래머스] 문자열 내 마음대로 정렬하기 (Java)
https://school.programmers.co.kr/learn/courses/30/lessons/12915
입력 : String[] strings, int n (1 ≤ strings.length ≤ 50, strings 원소는 1 이상, 100 이하인 문자열)
출력 : 정렬된 strings
O(n)
구현
Comparator 조건을 잘못 설정해 테스트 케이스를 통과하지 못했다. Comparator 조건을 수정했다.
char1 == char2 일때는 사전순 비교하도록 compareTo를 사용했다.
사전순 비교에는 compareTo가 사용된다.
구현
import java.util.*;
class Solution {
public String[] solution(String[] strings, int n) {
Arrays.sort(strings, new Comparator<String>() {
public int compare(String s1, String s2) {
char char1 = s1.charAt(n);
char char2 = s2.charAt(n);
if (char1 == char2) {
return s1.compareTo(s2);
} else {
return char1 - char2;
}
}
});
return strings;
}
}