728x90
class Solution {
public int solution(int[][] jobs) {
int size = jobs.length;
int totTime = 0;
Arrays.sort(jobs, (Comparator.comparingInt(o -> o[0])));
PriorityQueue<int[]> queue = new PriorityQueue<>(Comparator.comparingInt(o -> o[1]));
int i = 0;
int curTime = 0;
while (size > 0) {
while (i < jobs.length && jobs[i][0] <= curTime) {
queue.offer(jobs[i++]);
}
if (queue.isEmpty()) {
curTime = jobs[i][0];
} else {
int[] request = queue.poll();
totTime += curTime - request[0] + request[1];
curTime += request[1];
size--;
}
}
return (int) Math.floor(totTime/jobs.length);
}
}
728x90
'programmers' 카테고리의 다른 글
프로그래머스 3단계 : 순위 (Java 자바) (0) | 2023.09.13 |
---|---|
프로그래머스 3단계 : 풍선 터뜨리기 (Java 자바) (0) | 2023.09.12 |
프로그래머스 3단계 : 부대복귀 (Java 자바) (0) | 2023.09.07 |
프로그래머스 3단계 : 연속 펄스 부분 수열의 합 (Java 자바) (0) | 2023.09.07 |
프로그래머스 3단계 : 가장 긴 팰린드롬 (Java 자바) (0) | 2023.09.07 |