-
[Python] 프로그래머스 / 디스크 컨트롤러코딩테스트 2024. 10. 3. 21:02
여기서 힌트 안 보여줬으면 좋겠다... 두 개의 queue를 관리하라
하라는 대로 하면 되지만, 생각보다 까다롭고 섬세한 문제이다. 이게 또 은근히 실전 코테에서는 어려운 요소이다.
import heapq from collections import deque def solution(jobs): n = len(jobs) jobs.sort() jobs = deque(jobs) total_time, current_time = 0, 0 queue = [] while jobs or queue : while jobs and jobs[0][0] <= current_time : requested, duration = jobs.popleft() heapq.heappush(queue, [duration, requested]) if queue : current_duration, current_requested = heapq.heappop(queue) current_time += current_duration total_time += current_time - current_requested else : current_time = jobs[0][0] return total_time//n
'코딩테스트' 카테고리의 다른 글
[Python] 프로그래머스 / 2020 KAKAO BLIND RECRUITMENT / 블록 이동하기 (0) 2024.10.04 [Python] 프로그래머스 / 2020 카카오 인턴십 / 보석 쇼핑 (3) 2024.10.03 [Python] 프로그래머스 / Summer/Winter Coding(~2018) / 지형 편집 (1) 2024.10.03 [Python] 프로그래머스 / 월간 코드 챌린지 시즌1 / 스타 수열 (0) 2024.10.02 [Python] 프로그래머스 / 2020 KAKAO BLIND RECRUITMENT / 기둥과 보 설치 (3) 2024.10.02