각 작업에 대해 [작업이 요청되는 시점, 작업의 소요시간]을 담은 2차원 배열 jobs가 매개변수로 주어질 때, 작업의 요청부터 종료까지 걸린 시간의 평균을 가장 줄이는 방법으로 처리하면 평균이 얼마가 되는지 return 하도록 solution 함수를 작성해주세요.
입출력 예시
jobs : [[0, 3], [1, 9], [2, 6]]
-> 9
function solution(jobs) {
var answer = 0;
var pre = 0;
var len = jobs.length;
jobs.sort((a, b) => {
if(a[0] == b[0]) return a[1] - b[1];
else return a[0] - b[0];
});
for(var i=0; i<len; i++) {
var queue = jobs.filter((j) => j[0] <= pre);
queue.sort((a, b) => a[1] - b[1]);
var tmp;
if (queue.length == 0) {
tmp = jobs.shift();
pre = tmp[0];
}
else {
tmp = queue.shift();
jobs.splice(jobs.indexOf(tmp), 1);
}
pre = pre + tmp[1];
answer += (pre - tmp[0]);
}
return Math.floor(answer / len);
}