포스트

[백준/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;
}

문제 링크

백준 25305번: 커트라인

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.