문제에 대한 자세한 정보는 백준 | 11004번 : K번째 수에서 확인할 수 있다.
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int target = Integer.parseInt(st.nextToken());
ArrayList<Integer> list = new ArrayList<>();
st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++) {
list.add(Integer.parseInt(st.nextToken()));
}
Collections.sort(list);
bw.write(String.valueOf(list.get(target - 1)));
br.close();
bw.close();
}
}
메모리 : 668700KB
시간 : 3528ms
보통 quicksort를 사용해 푸는 것 같다. 일단 Collections.sort()를 사용했는데 quicksort는 따로 포스팅해서 정리해야겠다.