🔒 문제
2022 연세대학교 미래캠퍼스 슬기로운 코딩생활에 $N$명의 학생들이 응시했다.
이들 중 점수가 가장 높은 k명은 상을 받을 것이다. 이 때, 상을 받는 커트라인이 몇 점인지 구하라.
커트라인이란 상을 받는 사람들 중 점수가 가장 가장 낮은 사람의 점수를 말한다.
⌨ 입력
첫째 줄에는 응시자의 수 N과 상을 받는 사람의 수 k가 공백을 사이에 두고 주어진다.
둘째 줄에는 각 학생의 점수 x가 공백을 사이에 두고 주어진다.
🖨 출력
상을 받는 커트라인을 출력하라.
📍 제한
- 1 <= N <= 1000
- 1 <= k <= N
- 0 <= x <= 10000
📌 풀이
그냥 sorting 하고 k번째 사람 점수 출력하기
📚 예제
Ex1)
5 2
100 76 85 93 98
98
🔑 c언어 코드
#include <stdio.h>
#define SWAP(x,y,t)(t=x,x=y,y=t)
int sort(int* grade, int N);
int main()
{
int N, k; // 응시자 수, 상 받는 사람 수
scanf("%d %d", &N, &k);
int* grade = malloc(sizeof(int) * N);
for (int i = 0; i < N; i++) // 성적 입력
scanf("%d", &grade[i]);
grade = sort(grade, N);
printf("%d", grade[k - 1]);
return 0;
}
int sort(int* grade, int N)
{
int t;
for(int i=0;i<N;i++)
for (int j = 1; j < N - i; j++)
{
if (grade[j - 1] < grade[j])
SWAP(grade[j - 1], grade[j], t);
}
return grade;
}
'BAEKJOON > 단계별로 풀어보기' 카테고리의 다른 글
[BOJ] 1427번 : 소트인사이드 (0) | 2022.09.03 |
---|---|
[BOJ] 2751번 : 수 정렬하기 (★) (0) | 2022.09.01 |
[BOJ] 1436번 : 영화감독 숌 (0) | 2022.08.27 |
[BOJ] 1018번 : 체스판 다시 칠하기 (0) | 2022.08.26 |
[BOJ] 7568번 : 덩치 (0) | 2022.08.25 |