최's 먹공로그
SEA1257_[S/W 문제해결 응용] 6일차_K번째 문자열 본문
x
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
public class Solution_1257_K번째문자열_최성호 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int test_case = Integer.parseInt(br.readLine());
for (int tc = 1; tc <= test_case; tc++) {
int k = Integer.parseInt(br.readLine());
String s = br.readLine();
s += "#"; // 마지막에 아무문자 붙여서 문자 끝까지 인덱스 하기
HashSet<String> hs = new HashSet<>(); // 중복제거 위해 hashset사용
List<String> arr = new ArrayList<>(); // hashset은 sort안됨 list로 변경해주기 위한 list
for (int i = 0; i < s.length()-1; i++) {
for (int j = i+1; j < s.length(); j++) {
hs.add(s.substring(i, j));
}
}
arr = new ArrayList(hs); // hashset을 list로 변경
Collections.sort(arr);
if(k < arr.size()) {
System.out.println("#" + tc + " " + arr.get(k-1));
}
else {
System.out.println("#" + tc + " " + "none");
}
} // end of test case
} // end of main
}
'APS' 카테고리의 다른 글
SEA3459_승자예측하기 (0) | 2019.03.06 |
---|---|
백준3055_탈출 (0) | 2019.03.06 |
백준1012_유기농배추 (0) | 2019.02.26 |
백준1261_알고스팟 (0) | 2019.02.26 |
백준1931_회의실배정 (0) | 2019.02.26 |