문제 출처
알고리즘 분류
- 문자열
- 정렬
풀이
문자열 S의 길이를 N이라고 한다.
i번째 문자로 시작하는 문자열 S의 부분 문자열 N개를 배열에 추가하고 오름차순 정렬한다.
정렬된 배열에서 K번째에 위치한 문자열이 정답이 된다.
코드
더보기
import java.io.*;
import java.util.*;
public class Solution {
static String Answer;
public static void init() {
Answer = "";
}
public static void settings(int N, int K, String S) {
String[] strings = new String[N];
for (int i = 0; i < S.length(); i++) {
strings[i] = S.substring(i);
}
Arrays.sort(strings);
Answer = strings[K - 1];
}
public static void find_Answer(int Case) {
System.out.println("#" + Case + " " + Answer);
}
public static void input() throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
for (int i = 1; i <= T; i++) {
init();
String input = br.readLine();
int K = Integer.parseInt(input);
String S = br.readLine();
settings(S.length(), K, S);
find_Answer(i);
}
}
public static void main(String[] args) throws IOException {
input();
}
}
'SWEA > D5' 카테고리의 다른 글
[SWEA/D5] SWEA 1265 [S/W 문제해결 응용] 9일차 - 달란트2(Java) (0) | 2024.06.30 |
---|---|
[SWEA/D5] SWEA 1247 [S/W 문제해결 응용] 3일차 - 최적 경로(Java) (0) | 2024.06.29 |