[프로그래머스] 라면공장
2020. 3. 31. 16:42ㆍ프로그래머스/LEVEL 2
import java.util.*;
class Solution {
public int solution(int stock, int[] dates, int[] supplies, int k) {
int answer = 0;
int total = k-stock; //더 빌려야할 밀가루양
int day = 0; //몇일째인지
int i = 0; //빌릴 수 있는 날
PriorityQueue<Integer> pq = new PriorityQueue<>(Collections.reverseOrder());
while(total>0){
day ++;
stock--;
if(i<dates.length && day == dates[i]){
pq.offer(supplies[i]);
i++;
}
if(stock==0){
stock = pq.poll();
total -= stock;
answer++;
}
}
return answer;
}
}
가진 밀가루가 0이 되는 시점(day)에 그전에 빌릴 수 있는 것들중 가장 많은양을 빌려야 한다.
'프로그래머스 > LEVEL 2' 카테고리의 다른 글
[프로그래머스] 위장 (0) | 2020.04.01 |
---|---|
[프로그래머스] 카펫 (0) | 2020.03.31 |
[프로그래머스] 쇠막대기 (0) | 2020.03.31 |
[프로그래머스] 다리를 지나는 트럭 (0) | 2020.03.30 |
[프로그래머스] 최솟값 만들기 (0) | 2020.03.28 |