일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- WebOS
- D3
- SWEA
- level4
- Python
- level1
- 대학원일기
- 컨트리뷰톤
- py
- 내휴학생활중의아주큰일
- 프로그래머스
- 어렵다
- git
- java
- 대학원
- build
- Github
- level3
- SQL
- androidstudio
- LEVEL2
- 다시풀기
- MSBuild
- 자바
- BFS
- 휴학
- 파이썬
- 안드로이드스튜디오
- Matrix Factorization
- 컴퓨터비전
Archives
- Today
- Total
bit가 눈 앞에서 왔다갔다
Py) 프로그래머스 42627 본문
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