코딩 테스트/문제 풀기
[프로그래머스] 디스크 컨트롤러
hazel_
2021. 4. 20. 15:50
programmers.co.kr/learn/courses/30/lessons/42627
코딩테스트 연습 - 디스크 컨트롤러
하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를
programmers.co.kr
import heapq
def solution(jobs):
answer=0
time=0
last_start=-1
count=0
q=[]
jobs.sort()
while count<len(jobs):
for i in range(len(jobs)):
if last_start<jobs[i][0]<=time:
heapq.heappush(q, [jobs[i][1], jobs[i][0]])
if len(q)>0:
count+=1
now = heapq.heappop(q)
last_start=time
time+=now[0]
answer+=(time-now[1])
else:
time+=1
return int(answer//len(jobs))