입력된 수들을 배열에 저장해서 정렬한 뒤 K번째 숫자를 출력하기만 하면 되는 쉬운 문제였다.
import java.io.*;
import java.util.*;
public class Main{
public static void main(String[] args)throws IOException{
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());
int[] arr = new int[N+1];
st = new StringTokenizer(br.readLine(), " ");
for(int i=1;i<=N;i++){
arr[i] = Integer.parseInt(st.nextToken());
}
arr.sort();
System.out.pritnln(arr[K]);
}
}
아래는 ArrayList를 사용한 코드이다.
import java.io.*;
import java.util.*;
public class Main{
public static void main(String[] args)throws IOException{
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());
ArrayList<Integer> list = new ArrayList<Integer>();
st = new StringTokenizer(br.readLine()," ");
for(int i=0;i<n;i++){
list.add(Integer.parseInt(st.nextToken()));
}
Collections.sort(list);
System.out.println(list.get(k-1));
}
}
'[BOJ] - JAVA' 카테고리의 다른 글
[백준] 10825 : 국영수 JAVA 풀이 (0) | 2022.06.11 |
---|---|
[백준] 11652 : 카드 JAVA 풀이 (0) | 2022.06.11 |
[백준] 11057 : 오르막 수 JAVA 풀이 (0) | 2022.06.10 |
[백준] 11053 : 가장 긴 증가하는 부분 수열 JAVA 풀이 (0) | 2022.06.10 |
[백준] 11722 : 가장 긴 감소하는 부분 수열 JAVA 풀이 (0) | 2022.06.08 |