코딩테스트

[C] k번째 큰 수 찾기

갓 시작한 코린이 2022. 5. 26. 02:29

문제


N개의 자연수가 주어질 때, 이 자연수들 중에서 k번째로 큰 수를 찾는 프로그램을 작성하시오. 만약 k=1 이라면, 가장 큰 수를 찾으면 된다.

 

입력


첫 번째 줄에 자연수 N, k가 주어진다. (1 ≤ N ≤ 100,000, 1 ≤ k ≤ 10) 두 번째 줄에 N개의 자연수가 주어진다.  

출력


첫 번째 줄에 k번째 수를 출력한다.

 

예제 입력

10 3
1 5 2 3 8 4 7 3 2 10

예제 출력

7

 

예제 입력

5 4
5 5 1 2 3

예제 출력

2

 

#include <stdio.h>

int main() {

  //Please Enter Your Code Here
  int n, k;
  scanf("%d %d",&n,&k);
  int arr[n];
  for(int i=0;i<n;i++)
  {
    scanf("%d",&arr[i]);
  }
  for(int i=0;i<n;i++) //버블정렬
  {
    for(int j=0;j<n-1;j++)
    {
      if(arr[j]>arr[j+1])
      {
        int tmp=arr[j];
        arr[j]=arr[j+1];
        arr[j+1]=tmp;
      }
    }
  }
  printf("%d",arr[n-k]);

  return 0;
}

'코딩테스트' 카테고리의 다른 글

[C] PROSJEK  (0) 2022.05.26
[C] nextnum  (0) 2022.05.26
[C] bingo  (0) 2022.05.26
[C] 행렬 뒤집기  (0) 2022.05.26
[C] mine  (0) 2022.05.26