Muscardinus
디스크 컨트롤러 본문
728x90
programmers.co.kr/learn/courses/30/lessons/42627
코딩테스트 연습 - 디스크 컨트롤러
하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를
programmers.co.kr
function solution(jobs) {
let answer = 0;
let j = 0, time = 0;
const priorityQueue = [];
jobs.sort((a,b) => a[0] - b[0]);
while (j < jobs.length || priorityQueue.length) {
if (j < jobs.length && time >= jobs[j][0]) { //큐에 쌓기
priorityQueue.push(jobs[j++]);
priorityQueue.sort((a,b) => a[1] - b[1]);
continue;
}
if (priorityQueue.length) {
time += priorityQueue[0][1];
answer += time - priorityQueue[0][0];
priorityQueue.shift();
} else time = jobs[j][0];
}
return parseInt(answer / jobs.length);
}
728x90
Comments