알고리즘 - 백준_11004번_k번째 수

jodbsgh·2023년 4월 18일
0

정렬 문제중에서도 매우 쉬운편에 속하는 문제이다. 다만 주의할 것은 한 줄에 입력을 여러건 받기 때문에 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();
    }
}
profile
어제 보다는 내일을, 내일 보다는 오늘을 🚀

0개의 댓글