반응형
맨 처음엔 다리에 올라갈 차의 순서를 재조정해서 최소값을 찾는줄 알고
무슨 문제가 이렇지.. 하면서 풀었는데
알고보니 순서는 순서대로라고 명시되어 있었다.
#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;
}
큐를 이용해서 풀었다.
반응형
'[프로그래머스]' 카테고리의 다른 글
프로그래머스 숫자 카드 나누기 C++ (0) | 2023.08.19 |
---|---|
프로그래머스 두 큐 합 같게 만들기 C++ (0) | 2023.08.18 |
프로그래머스 주식 가격 C++ (0) | 2023.08.17 |
프로그래머스 프로세스 C++ (0) | 2023.08.17 |
프로그래머스 기능개발 C++ (0) | 2023.08.17 |