✔ 문자열 내 마음대로 정렬하기
문제 분석하기
정렬을 위해 Compartor 인터페이스의 함수를 작성하여 문자열을 정렬
손으로 풀어보기
- 배열을 먼저 단순 정렬
- 인덱스의 문자가 같은 문자열이 여럿일 경우 사전순으로 앞선 문자열이 앞쪽에 위치해야
- 배열을 인덱스 글자를 기준으로 정렬
- 정렬을 위해 Comparator 인터페이스의 함수를 작성
- 정렬한 배열을 반환
슈도코드 작성하기
strings(문자열로 구성된 리스트)
n(정수)
strings 오름차순 정렬
strings n번째 인덱스를 기준으로 정렬
strings 반환
코드 구현하기
/**
* 12915) 문자열_내_마음대로_정렬하기
*/
public class L007_12915 {
// strings(문자열로 구성된 리스트)
// n(정수)
public String[] solution(String[] strings, int n) {
// strings 오름차순 정렬
Arrays.sort(strings);
// strings n번째 인덱스를 기준으로 정렬
Arrays.sort(strings, new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
if (s1.charAt(n) > s2.charAt(n))
return 1;
else if (s1.charAt(n) < s2.charAt(n))
return -1;
else
return 0;
}
});
// strings 반환
return strings;
}
// 테스트 케이스
public static void main(String[] args) {
L007_12915 solution = new L007_12915();
String[] strings = {};
int n = 1;
String[] result = solution.solution(strings, n);
System.out.println(Arrays.toString(result));
}
}
'Coding Test > Java 알고리즘 실전' 카테고리의 다른 글
[12917] 문자열 내림차순으로 배치하기 (0) | 2023.12.26 |
---|---|
[12916] 문자열 내 p와 y의 개수 (0) | 2023.12.26 |
[12912] 두 정수 사이의 합 (0) | 2023.12.25 |
[12910] 나누어 떨어지는 숫자 배열 (0) | 2023.12.25 |
[12903] 가운데 글자 가져오기 (0) | 2023.12.25 |