[프로그래머스]
프로그래머스 다리를 지나는 트럭 C++
Hevton
2023. 8. 18. 13:02
반응형
맨 처음엔 다리에 올라갈 차의 순서를 재조정해서 최소값을 찾는줄 알고
무슨 문제가 이렇지.. 하면서 풀었는데
알고보니 순서는 순서대로라고 명시되어 있었다.
#include <string>
#include <vector>
#include <algorithm>
#include <queue>
using namespace std;
int solution(int bridge_length, int weight, vector<int> truck_weights) {
int answer = 0;
queue<int> que;
int queWeight = 0;
int size = truck_weights.size();
int iter = 0;
for(int i = 0; i < bridge_length; i++)
que.push(0);
do {
queWeight -= que.front();
que.pop();
if(iter < size && queWeight + truck_weights[iter] <= weight) {
queWeight += truck_weights[iter];
que.push(truck_weights[iter++]);
} else {
que.push(0);
}
answer++;
} while(queWeight > 0);
return answer;
}
큐를 이용해서 풀었다.
반응형