OJ
[BOJ] 9237 이장님 초대 (JAVA)
P3PP4
2023. 1. 1. 10:00
https://www.acmicpc.net/problem/9237
9237번: 이장님 초대
입력은 두 줄로 이루어져 있다. 첫째 줄에는 묘목의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄에는 각 나무가 다 자라는데 며칠이 걸리는지를 나타낸 ti가 주어진다. (1 ≤ ti ≤ 1,000,000)
www.acmicpc.net
내림차순으로 정렬한 후 한 원소씩 살펴보는 문제입니다.
람다식을 사용했기 때문에 계산이 조금 느릴 수 있습니다.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.PriorityQueue;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
PriorityQueue<Integer> pq = new PriorityQueue<>((o1, o2) -> {
return o2 - o1;
});
for (int i = 0; i < N; i++) {
pq.offer(Integer.parseInt(st.nextToken()));
} // end of input
int result = 0;
int day = 1;
while(!pq.isEmpty()) {
result = Math.max(result, ++day + pq.poll());
}
System.out.print(result);
}
}