import heapq
def solution(jobs):
answer, cnt, last = 0, 0, -1
heap = []
jobs.sort()
time = jobs[0][0]
while cnt < len(jobs):
for s, t in jobs:
if last < s <= time:
heapq.heappush(heap, (t, s))
if heap:
term, start = heapq.heappop(heap)
last = time
time += term
answer += (time - start)
cnt += 1
else:
time += 1
return answer // len(jobs)
programmers.co.kr/learn/courses/30/lessons/42627#
'알고리즘 > 프로그래머스(Python)' 카테고리의 다른 글
그래프 - 가장 먼 노드 / 파이썬 (0) | 2020.11.08 |
---|---|
힙 - 이중우선순위큐 / 파이썬 (0) | 2020.11.06 |
힙 - 더 맵게 / 파이썬 (0) | 2020.11.05 |
큐 - 프린터 / 파이썬 (0) | 2020.11.04 |
큐 - 다리를 지나는 트럭 / 파이썬 (0) | 2020.11.03 |