백준 - JAVA/정렬
[백준] 11004번 K번째 수 _ JAVA ( 주석 설명 )
wch_s
2023. 3. 9. 16:19
코드
1번
- Arrays.sort()
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken()); //N개의 수
int K = Integer.parseInt(st.nextToken()); //K번째 수
int ary[] = new int[N];
st = new StringTokenizer(br.readLine());
for(int i=0;i<N;++i){
ary[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(ary); //오름차순 정렬
System.out.println(ary[K-1]);
}
}
2번
- Collections.sort()
Collections.sort()가 Arrays.sort()보다 빠를 줄 알았으나, 더 느린 모습을 보여주었다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Collections;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken()); //N개의 수
int K = Integer.parseInt(st.nextToken()); //K번째 수
ArrayList<Integer> list = new ArrayList<>(N);
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));
}
}
3번
- Quick-sort