Coding - Algo/python
[프로그래머스] 디스크 컨트롤러 (python 파이썬)
jainn
2021. 6. 17. 23:32
728x90
문제
https://programmers.co.kr/learn/courses/30/lessons/42627
풀이 및 소스코드
시점을 나눠 그때마다 힙큐에 넣는 것이 중요한 문제이다.
import heapq
def solution(jobs):
answer = 0
end, i = 0, 0
start = -1
hq = []
while len(jobs)>i:
for job in jobs:
if start<job[0]<=end:
heapq.heappush(hq, (job[1], job[0]))
if len(hq)>0:
now = heapq.heappop(hq)
start = end
end += now[0]
answer += (end-now[1])
i += 1
else:
end+=1
answer = answer//len(jobs)
return answer
반응형