CS/알고리즘_문제풀이(자바)

k번째 큰 수 찾기

Jedy_Kim 2021. 9. 7. 16:30
728x90

문제

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

 

#코드

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
30
31
import java.util.*;
import java.io.*;
 
public class Main{
  public static void main(String[] args) throws Exception {
 
    // Please Enter Your Code Here
    BufferedReader br  = new BufferedReader(new InputStreamReader(System.in));
    StringTokenizer st = new StringTokenizer(br.readLine());    
    
    int N = Integer.parseInt(st.nextToken());
    int K = Integer.parseInt(st.nextToken());
    
    st = new StringTokenizer(br.readLine());
    int[] myArr = new int[N];
    for(int i = 0; i < N; i++) {
      myArr[i] = Integer.parseInt(st.nextToken());
    }
    
    Arrays.sort(myArr);
    int cnt = 1;
    for(int i = N-1; i > -1; i--) {
      if(cnt == K) {
        System.out.print(myArr[i]);
        break;
      }
      cnt++;
    } 
 
  }
}
cs

 

반응형

'CS > 알고리즘_문제풀이(자바)' 카테고리의 다른 글

피보나치 수  (0) 2021.09.08
다음수  (0) 2021.09.08
[자바] 선택정렬, 삽입정렬, 버블정렬  (0) 2021.09.07
자리배정  (0) 2021.09.05
숫자 야구  (0) 2021.09.03