728x90
https://school.programmers.co.kr/learn/courses/30/lessons/42627
분석
리스트 끝나는 시간 정렬해서 풀 경우 (1,3)(0,2) ➔ 시작 불가하므로 불가능
풀이
from heapq import heappush, heappop
def solution(jobs):
answer=0
h=[]
pre=-1 # 직전 종료 시각
i=0 # 현재 시각
cnt=0 # 처리개수
while cnt<len(jobs):
for job in jobs:
if pre < job[0] <= i:
heappush(h, [job[1], job[0]]) # (소요시간, 요청시간)
if h:
cur=heappop(h)
pre=i
i+=cur[0]
answer+=i-cur[1]
cnt+=1
else:
i+=1
return answer//len(jobs)
728x90