반응형
programmers.co.kr/learn/courses/30/lessons/42583
int solution(int bridge_length, int weight, vector<int> truck_weights) {
queue<int> wait;
queue<int> bridge;
for (const auto& t : truck_weights)
{
wait.emplace(t);
}
int total = 0;
int sec = 0;
do {
sec++;
if (bridge.size() == bridge_length) {
total -= bridge.front();
bridge.pop();
}
if (!wait.empty() && (total + wait.front()) <= weight) {
total += wait.front();
bridge.push(wait.front());
wait.pop();
}
else {
bridge.push(0);
}
} while (total);
return sec;
}
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스 42586] 기능개발 / C++ (0) | 2021.05.02 |
---|---|
[프로그래머스 42584] 주식가격 / C++ (0) | 2021.05.01 |
[프로그래머스 42579] 베스트앨범 / C++ (0) | 2021.04.29 |
[프로그래머스 42578] 위장 / C++ (0) | 2021.04.29 |
[프로그래머스 42577] 전화번호 목록 / C++ (0) | 2021.04.28 |