알고리즘
[백준] 11004번 K번째 수 _ JAVA ( 주석 설명 ) 본문
코드
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
'백준 - JAVA > 정렬' 카테고리의 다른 글
[백준] 11652번 카드 _ JAVA ( 주석 설명 ) (0) | 2023.03.07 |
---|---|
[백준] 10825번 국영수 _ JAVA ( 주석 설명 ) (0) | 2023.03.06 |
[백준] 24060번 : 알고리즘 수업 - 병합 정렬 1 _ JAVA ( 주석 설명 ) (0) | 2023.02.13 |
[백준] 18870번 : 좌표 압축 _ JAVA ( 주석 설명 ) (0) | 2023.02.10 |
[백준] 10814번 : 나이순 정렬 _ JAVA ( 주석 설명 ) (0) | 2023.02.10 |