문제출처: https://programmers.co.kr/learn/courses/30/lessons/42627
접근법
코드
from heapq import heappush,heappop def solution(jobs): answer = 0 total_num = len(jobs) jobs.sort(key=lambda x:(x[0],x[1])) time = 0 # 시작 Task pq = [(0,jobs.pop(0))] while( pq ): job = heappop(pq)[1] # 대기시간이 있는경우 와 없는 경우 time = job[0] + job[1] if job[0] > time else time+job[1] answer += time - job[0] # 현재 수행하는 작업시간 안에 시작하는 작업들 추가 while( jobs ): if( jobs[0][0] <= time or not pq): heappush(pq,(jobs[0][1],jobs.pop(0))) else: break return answer//total_num