본문 바로가기

problem solving

[프로그래머스]라면공장

date가 0일 때 고려해서 stock--;

#include <string>
#include <vector>
#include <queue>
 
using namespace std;
 
int solution(int stock, vector<int> dates, vector<int> supplies, int k) {
    int answer = 0;
    
    dates.insert(dates.end(), k);
    dates.insert(dates.begin(), 0);
    supplies.insert(supplies.end(), 0);
    supplies.insert(supplies.begin(), 0);
    
    priority_queue<int> store;
    stock--;
    for(int idx = 1; idx < dates.size(); idx++) {        
        stock -= dates[idx] - dates[idx - 1];
        while (stock  + 1 < 0) {
            stock += store.top();
            store.pop();
            answer++;        
        }
        store.push(supplies[idx]);
    }
    
    return answer;
}
cs

'problem solving' 카테고리의 다른 글

[프로그래머스]이중우선순위큐  (0) 2020.03.13
[미완]디스크 분할  (0) 2020.03.13
[프로그래머스]라면공장  (0) 2020.03.13
[프로그래머스]여행경로  (0) 2020.03.13
[프로그래머스]단어 변환  (0) 2020.03.12