<내코드>
<풀이과정>
stock이 버틸수 있는 dates중 (stock-dates[i]>=0)가장 큰 dates의 순번에 해당하는 supplies[i]를 찾기위해
반복하며 힙큐에 넣어주고, 더이상 stock이 버틸 수 없으면 제일큰 공급량을 stock에 더해준다.(힙큐에서 pop으로)
이 과정을 k가 stock보다 클 때 까지 반복하면 최소의 공급량을 return하게 된다.
<느낀점>
처음에 힙큐의 원소를 꺼내서 stock에 더해주는 과정해서 한번 시행하면 heapq를 리셋시켜줘서 답이 안나왔다.
생각을 잘 못했던것 같다.(이왕 공급을 받을거면 무조건 제일 많은량을 받는게 맞다->힙을 초기화시키면 큰 값이 사라지는 경우가 있다 라는 생각을 간과했다.) 이런식의 풀이를 생각해내는게 상당히 까다로웠고 다시한번 heapq를 배울수 있었다.
'코딩테스트' 카테고리의 다른 글
[프로그래머스(Programmers)/Level2](Python)가장 큰 정사각형 (0) | 2020.07.17 |
---|---|
[프로그래머스(Programmers)/Level2](Python) 카펫 (0) | 2020.07.14 |
[프로그래머스(Programmers)/Level2](Python) 타겟 넘버 (0) | 2020.07.14 |
[프로그래머스(Programmers) Level2](Python) 위장 (0) | 2020.07.11 |
[프로그래머스(Programmers)/Level2](Python) 구명보트 (0) | 2020.07.11 |