본문 바로가기
백준

[11004] K번째 수 (JAVA)

by 댈팽이 2024. 3. 28.
728x90

# 문제 설명

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


입력

첫째 줄에 N(1 ≤ N ≤ 5,000,000)과 K (1 ≤ K ≤ N)이 주어진다.

둘째에는 A1, A2, ..., AN이 주어진다. (-109 ≤ Ai ≤ 109)


출력

A를 정렬했을 때, 앞에서부터 K번째 있는 수를 출력한다.

 

# 정답 코드

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

public class Main {
    public static void main(String[] args) throws IOException {
        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());

        int[] A = new int[N];
        st = new StringTokenizer(br.readLine());
        for (int n = 0; n < N; n++) {
            A[n] = Integer.parseInt(st.nextToken());
        }

        Arrays.sort(A);

        System.out.print(A[K-1]);
    }
}

 

주어진 수들을 오름차순 정렬했을 때 K번째 수를 출력하는 문제이다.

크기가 N인 배열을 만들어 데이터를 입력 받는다.

sort 함수를 이용하여 배열 A를 정렬한다.

K번째 수는 배열에서 K-1번째이므로 K-1번째 수를 출력한다.

728x90