정렬 문제중에서도 매우 쉬운편에 속하는 문제이다. 다만 주의할 것은 한 줄에 입력을 여러건 받기 때문에 BufferedReader를 사용할 때 readLine()을 사용하는 것이 아니라. nextToken()을 사용하여 변수에 저장해야한다.
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
// 입력을 빠르게 받기 위해 BufferedReader를 사용합니다.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken()); // 배열의 크기 n
int k = Integer.parseInt(st.nextToken()); // k번째 수
int[] arr = new int[n]; // 입력받은 숫자들을 저장할 배열
st = new StringTokenizer(br.readLine());
for (int i = 0; i < n; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
// 배열을 오름차순으로 정렬합니다.
Arrays.sort(arr);
// k번째 수는 배열의 인덱스로 바로 접근할 수 있습니다.
int kth = arr[k - 1];
// 출력을 빠르게 하기 위해 BufferedWriter를 사용합니다.
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
bw.write(String.valueOf(kth));
bw.flush();
bw.close();
}
}