디스크 컨트롤러 (파이썬)
728x90
반응형
c++에서 파이썬으로 바꾸는 중인데 c++보다 쉽다고 생각하다가도 가끔 잘 안되는 부분은 어렵다
풀이
: 바로 실행할 수 있는 일들을 우선순위큐에 넣어주고 없으면 현재 시간을 1씩 증가시킨다
import heapq
def solution(jobs):
answer = 0
count,last,answer=0,-1,0
heap=[]
jobs.sort()
time=jobs[0][0]
while count<len(jobs):
for s,t in jobs:
if last<s<=time: # 바로 실행가능한 애들만 우선순위큐에 집어넣는다
heapq.heappush(heap,(t,s))
if len(heap)>0: # 지금 실행가능한 일이 있다면
count+=1
last=time
dur,start=heapq.heappop(heap)
time+=dur
answer+=(time-start)
else:
time+=1
return answer//len(jobs)
728x90
반응형
'프로그래머스' 카테고리의 다른 글
[프로그래머스] 짝지어 제거하기 (파이썬, javascript) (0) | 2020.09.16 |
---|---|
프로그래머스 순위 (파이썬, set) (0) | 2020.09.11 |
프로그래머스 가장 먼 노드 (파이썬, bfs) (0) | 2020.09.11 |
프로그래머스 단속카메라 (그리디, 파이썬) (0) | 2020.09.11 |
프로그래머스 입국심사 (파이썬, javascript, 이분탐색) (0) | 2020.09.10 |
TAGS.