Algorithm/Problem_프로그래머스
프로그래머스(문자열 내 마음대로 정렬하기) - Java
uyoo
2020. 5. 20. 11:02
[문자열 내 마음대로 정렬하기]
https://programmers.co.kr/learn/courses/30/lessons/12915
코딩테스트 연습 - 문자열 내 마음대로 정렬하기
문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1�
programmers.co.kr
* 로직
- 배열에 대한 정렬을 진행할 때 조건에 언급된 정렬 기준을 설정한다
- n번째 index에 있는 문자 기준으로 오름차순
- 만약 같다면 -> 단어 자체 기준 사전식 오름차순
import java.io.*;
import java.util.*;
class Solution {
public String[] solution(String[] strings, int n) {
String[] answer = {};
Arrays.sort(strings, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
String str1 = o1.substring(n, n+1);
String str2 = o2.substring(n, n+1);
if(str1.compareTo(str2) > 0) {
return 1;
}
else if(str1.compareTo(str2) == 0) {
return o1.compareTo(o2);
}
return -1;
}
});
answer = new String[strings.length];
for(int i=0; i<answer.length; ++i) {
answer[i] = strings[i];
}
return answer;
}
}