Pythonアルゴリズム-88(プログラマブルディスクコントローラ)
他人の解答
import heapq
from collections import deque
def solution(jobs):
N, REQUEST = len(jobs), 0
jobs = deque(sorted(jobs))
jobs_done, curr_time, waits, cand = 0, 0, 0, []
# 일을 다 마칠 때 까지
while jobs_done < N:
# 요청이 들어온 것이 없을 때
if not cand:
request, time = jobs.popleft()
curr_time = request + time
waits += time
# 요청이 들어온 것이 있을 때
else:
time, request = heapq.heappop(cand)
curr_time += time
waits += curr_time - request
jobs_done += 1
while jobs and jobs[0][REQUEST] <= curr_time:
heapq.heappush(cand, jobs.popleft()[::-1])
return waits // N
Reference
この問題について(Pythonアルゴリズム-88(プログラマブルディスクコントローラ)), 我々は、より多くの情報をここで見つけました https://velog.io/@jiffydev/파이썬-알고리즘-88-프로그래머스-디스크-컨트롤러テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol