https://programmers.co.kr/learn/courses/30/lessons/42583
#include <string>
#include <vector>
using namespace std;
int solution(int bridge_length, int weight, vector<int> truck_weights) {
int answer = 0;
int i = 0,nowWeight = 0;
vector<pair<int, int>> v;
while (i < truck_weights.size() || !v.empty()) {
if (!v.empty() && v[0].first <= 0) {
nowWeight -= v[0].second;
v.erase(v.begin());
}
if (i < truck_weights.size() && nowWeight + truck_weights[i] <= weight) {
nowWeight += truck_weights[i];
v.push_back({ bridge_length,truck_weights[i++] });
}
for (int k = 0; k < v.size(); k++) {
v[k].first -= 1;
}
answer++;
}
return answer;
}
'전공공부 > 코딩테스트' 카테고리의 다른 글
(c++) 프로그래머스 "순위 검색" (0) | 2022.05.11 |
---|---|
(c++) 백준 "10158. 개미" (0) | 2022.05.11 |
(c++) 백준 "10163. 색종이" (0) | 2022.05.10 |
(c++) 백준 "2578. 빙고" (0) | 2022.05.10 |
(c++) 프로그래머스 "[3차] 파일명 정렬" (0) | 2022.05.04 |