bit가 눈 앞에서 왔다갔다

Py) 프로그래머스 42627 본문

Algorithm/Prob

Py) 프로그래머스 42627

헬린인형 2022. 1. 12. 00:27

https://programmers.co.kr/learn/courses/30/lessons/42627

 

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

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

programmers.co.kr

 

import heapq

def solution(jobs):
    answer = 0
    i = 0
    start = -1
    now = 0
    heap = []
    while i < len(jobs):
        for j in jobs:      # 도착, 소요
            if start < j[0] <= now:
                heapq.heappush(heap,(j[1], j[0]))
        if len(heap)>0:
            curr = heapq.heappop(heap)  # 소요, 도착
            start = now
            now += curr[0]
            answer += now - curr[1]     # 걸린시간 - 처음 도착시간
            i += 1
        else:
            now += 1

    return answer//len(jobs)

그려서라도 이해하자. 굿노트에 점선 그리기는 없나?

*

import heapq
   heapq.heappush()
   heapq.heappop()

 

 

어려웠다.

ㅇㅇ 어려웠음

이해하고 나니까 아 이게 뭐라고 오래 붙잡았나 싶은데 어려웠다.

생각의 큰 흐름 자체는 동일한데, 생각 못한 경우들이 있었다. (처리 시간이 동일한 경우, 연달아서 없는 경우)

heap이 뭔지 기억도 잘 안 났고. 파이썬 heapq를 어떻게 쓰는거지..?하고 고민하다가 시간 다 보냄

머리 아팠지만 그래도 버리지 않고 끝까지 이해해낸 것에 대해 스스로 칭찬)

반응형

'Algorithm > Prob' 카테고리의 다른 글

Py) 프로그래머스 42747  (0) 2022.01.13
Py) 프로그래머스 42862  (0) 2022.01.12
Py ) 프로그래머스 60057 + 1/16다시풀기  (0) 2022.01.10
Py) 프로그래머스 42584  (0) 2022.01.07
Py) 프로그래머스 42587  (0) 2022.01.07
Comments