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
'백준' 카테고리의 다른 글
[10989] 수 정렬하기 3 (JAVA) (0) | 2024.03.28 |
---|---|
[2751] 수 정렬하기 2 (JAVA) (1) | 2024.03.28 |
[24060] 알고리즘 수업 - 병합 정렬 1 (JAVA) (0) | 2024.03.27 |
[24090] 알고리즘 수업 - 퀵 정렬 1 (JAVA) (0) | 2024.03.27 |
[11399] ATM (JAVA) (0) | 2024.03.26 |