본문
문자열 내 마음대로 정렬하기 #연습
프로그래밍/코딩테스트(java) 2021. 1. 19. 21:24
반응형
💡 실행
package com.java.coding.test;
import java.util.Arrays;
public class Run {
public static void main(String[] args) {
String[] inputs = { "sun", "bed", "car" };
// [car, bed, sun]
System.out.println(Arrays.toString(new SortStrings().solution(inputs, 1)));
}
}
💡 풀이
1. 입력받은 String 배열을 사전순으로 정렬
2. n번째 character 비교 → 재정렬
import java.util.Arrays;
import java.util.Comparator;
class SortStrings {
public String[] solution(String[] str, int n) {
String[] answer = new String[str.length];
// str배열 사전식 정렬
Arrays.sort(str);
// Comparator객체를 생성하여 n번째 character를 비교한 후 정렬
Arrays.sort(str, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
char c1 = o1.charAt(n);
char c2 = o2.charAt(n);
if (c1 > c2)
return 1;
else if (c1 < c2)
return -1;
else
return 0;
}
});
for (int i = 0; i < str.length; i++) {
answer[i] = str[i];
}
return answer;
}
}
P.S. Comparable, Comparator 비교
https://server-engineer.tistory.com/808
반응형
댓글