구현 자체는 매우 쉬운 문제이다!
시간 제한과 메모리 제한은 테스트 개수가 적기 때문에 상관없다고 판단했다.
내가 생각한 로직이다.
내림차순 구현이 간단한 ArrayList 사용 (Collections.reverseOrder())
내림차순 후 arr.get(k-1)로 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());
ArrayList<Integer> arr = new ArrayList<>();
st = new StringTokenizer(br.readLine(), " ");
for (int i = 0; i < n; i++)
arr.add(Integer.parseInt(st.nextToken()));
Collections.sort(arr, Collections.reverseOrder());
System.out.println(arr.get(k-1));
}
}
배운점
슬슬 정렬에 자신감이 붙기 시작했다!
스트림에 대해서도더 공부해야겠다!
'코딩테스트 > 백준' 카테고리의 다른 글
[백준 JAVA] 1427 - 소트인사이드 (1) | 2024.12.09 |
---|---|
[백준 JAVA] 2751 - 수 정렬하기2 (1) | 2024.12.08 |
[백준 JAVA] 2587 - 대표값2 (0) | 2024.12.08 |
[백준 JAVA] 2750 - 수 정렬하기 (0) | 2024.12.08 |
[백준 JAVA] 2839 - 설탕 배달 (1) | 2024.12.06 |