본문 바로가기

알고리즘/프로그래머스(Python)

힙 - 디스크 컨트롤러 / 파이썬

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#

 

코딩테스트 연습 - 디스크 컨트롤러

하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를

programmers.co.kr