프로그래머스 디스크컨트롤러 (JAVA)
문제는 링크 참고
https://programmers.co.kr/learn/courses/30/lessons/42627
import java.util.Arrays;
import java.util.PriorityQueue;
class Solution {
public int solution(int[][] jobs) {
int answer = 0;
//수행 직후 시간
int end =0;
// jobs배열의 인덱스
int jobIdx = 0;
//수행된 요청 개수
int count =0;
//요청시간에 따라 정렬
Arrays.sort(jobs, (o1,o2) ->(o1[0] - o2[0] ));
PriorityQueue<int[]> pq = new PriorityQueue<int[]>((o1, o2) ->(o1[1] - o2[1]) );
while (count < jobs.length ) {
while ( (jobIdx < jobs.length) && (jobs[jobIdx][0] <= end) ) {
pq.add(jobs[jobIdx++]);
}
if(pq.isEmpty()) {
end = jobs[jobIdx][0];
}else {
int[] temp = pq.poll();
answer += temp[1] +end - temp[0];
end += temp[1];
count++;
}
}
return (int)Math.floor(answer/jobs.length) ;
}
}
Author And Source
이 문제에 관하여(프로그래머스 디스크컨트롤러 (JAVA)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kada/프로그래머스-디스크컨트롤러-JAVA저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)