문제 : boj25305
필요 알고리즘 개념
- 정렬, 구현
- 정렬을 통해 문제에서 제시된 방식대로 구현해주면 된다.
※ 제 코드에서 왜 main 함수에 로직을 직접 작성하지 않았는지, 왜 Scanner를 쓰지 않고 BufferedReader를 사용했는지 등에 대해서는 '자바로 백준 풀 때의 팁 및 주의점' 글을 참고해주세요. 백준을 자바로 풀어보려고 시작하시는 분이나, 백준에서 자바로 풀 때의 팁을 원하시는 분들도 보시는걸 추천드립니다.
풀이
1. arr[N] 에 각 학생의 점수를 입력받는다.
2. arr을 정렬한다.
3. 내림차순으로 정렬했다면 앞에서부터 k번째 학생의 점수를 출력한다. 오름차순으로 정렬했다면 뒤에서부터 k번째 학생의 점수를 출력해준다.
코드 : github
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
private void solution() throws Exception {
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];
st = new StringTokenizer(br.readLine());
while (n-->0)
arr[n] = Integer.parseInt(st.nextToken());
Arrays.sort(arr);
System.out.println(arr[arr.length-k]);
}
public static void main(String[] args) throws Exception {
new Main().solution();
}
}
'PS > BOJ' 카테고리의 다른 글
[자바] 백준 2941 - 크로아티아 알파벳 (java) (0) | 2022.12.07 |
---|---|
[자바] 백준 23027 - 1번부터 문제의 상태가…? (java) (0) | 2022.12.05 |
[자바] 백준 25630 - 팰린드롬 소떡소떡 (java) (0) | 2022.12.03 |
[자바] 백준 1253 - 좋다 (java) (1) | 2022.12.02 |
[자바] 백준 20976 - The Second Largest Integer (java) (0) | 2022.12.02 |
댓글