[백준/C] 25305번 커트라인
[백준/C] 25305번 커트라인
문제
- 2022 연세대학교 미래캠퍼스 슬기로운 코딩생활에 N명의 학생들이 응시했다.
- 이들 중 점수가 가장 높은 k명은 상을 받을 것이다. 이 때, 상을 받는 커트라인이 몇 점인지 구하라.
- 커트라인이란 상을 받는 사람들 중 점수가 가장 가장 낮은 사람의 점수를 말한다.
입력
- 첫째 줄에는 응시자의 수 N과 상을 받는 사람의 수 $k$가 공백을 사이에 두고 주어진다.
- 둘째 줄에는 각 학생의 점수 x가 공백을 사이에 두고 주어진다.
출력
- 상을 받는 커트라인을 출력하라.
제한
- 1 ≤ N ≤ 1,000
- 1 ≤ k ≤ N
- 0 ≤ x ≤ 10,000
예제 입력
1 2
5 2 100 76 85 93 98
출력
1
98
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(){
int N; //응시하는 학생 수
int k; //상을 받는 학생 수
int x[10000] = {0,}; //학생 점수
scanf("%d %d", &N, &k);
for(int i = 0; i < N; i++){
scanf("%d", &x[i]);
}
// 버블 정렬, 내림차순으로 정렬한다.
for (int i = 0; i < N - 1; i++) {
for (int j = 0; j < N - 1 - i; j++) {
if (x[j] < x[j + 1]) {
int temp = x[j];
x[j] = x[j + 1];
x[j + 1] = temp;
}
}
}
printf("%d\n", x[k - 1]); // k번째로 큰 수는 인덱스 k-1
return 0;
}
문제 링크
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.