백준

백준 11004 K번째 수(Java)

Park DJ 2023. 1. 21. 16:21

https://www.acmicpc.net/problem/11004

 

11004번: K번째 수

수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오.

www.acmicpc.net


 

해석 및 팁

 


 

이 문제는 단순히 sc.nextInt()와 Arrays.sort를 사용하면 시간초과가 발생합니다. 따라서 BufferedReader와 Collections.sort를 사용해주어야 합니다.

 


 

Java 코드

 


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));
    StringTokenizer st = new StringTokenizer(br.readLine());

    int n = Integer.parseInt(st.nextToken());
    int k = 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);
    
    System.out.println(list.get(k-1));
  }
}