백준
[11004] K번째 수 (JAVA)
댈팽이
2024. 3. 28. 00:36
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