PS/BOJ

BOJ 11004 K번째 수 [Java]

모달조아 2021. 7. 17. 14:12

BOJ 11004 K번째 수

- 문제 링크

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

- 문제 해설

메모리와 시간 제한이 여유로워서 sort 메소드를 이용하여 쉽게 풀 수 있는 문제이다. sort 메소드말고 다른 방식으로 풀 경우 quick sort를 이용해서 풀 수도 있을 것 같다. 이 문제를 풀면서 처음에 한 가지 간과한게 있다면, BufferedReader와 StringTokenizer를 이용하여 한 줄씩 입력 받아 토큰으로 만들었기때문에, 18줄의 코드처럼 StringTokenizer를 한 줄마다 다시 만들어줄 필요가 있다.

- 코드 보기

import java.io.*;
import java.util.*;

public class Main
{
    static int n;
    static int k;

    public static void main(String[] args) throws IOException
    {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        StringTokenizer st = new StringTokenizer(br.readLine());

        n = Integer.parseInt(st.nextToken());
        k = Integer.parseInt(st.nextToken());
        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);
        bw.write(Integer.toString(arr[k - 1]));

        br.close();
        bw.flush();
        bw.close();
    }
}