문제 풀이
1) 배열을 통해 N개의 숫자를 입력 받는다.
2) qsort 함수를 이용하여 정렬한다.
3) 입력받은 숫자 중 배열에서 K번째 수를 출력한다.
소스코드
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int arr[5000010]={};
int N;
int K;
int compare(const void* a, const void* b)
{
int A = *(int*)a;
int B = *(int*)b;
if (A<B)
return -1;
else if (A>B)
return 1;
return 0;
}
int main(void)
{
scanf("%d %d", &N, &K);
for (int i=0; i<N; i++)
{
scanf("%d",&arr[i]);
}
qsort(arr,N,sizeof(int),compare);
printf("%d", arr[K-1]);
return 0;
}
'C C++ > C C++ 백준' 카테고리의 다른 글
[C/C++] 로또의 최고 순위와 최저 순위 (Lv1) (0) | 2022.07.10 |
---|---|
C언어 백준 9012번 괄호 (0) | 2022.07.10 |
C언어 백준 10989번 수 정렬하기 3 (0) | 2022.07.02 |
C언어 백준 10825번 국영수 (0) | 2022.06.26 |
C언어 백준 11814번 나이순 정렬 (0) | 2022.06.26 |
댓글