- 문제 풀이
"큐"를 사용하는 문제였다.
배포할 정도가 아니면 front값을 뒤로 넘기고 배포할 때가 됐으면 큐에서 그 숫자를 빼내준다.
- 코드
하지만 내 풀이는 "큐"를 사용하진 않았다.
그냥 while, for 반복문을 사용해 값을 계산하고, push_back() 을 통해 계산한 값을 저장했다.
(vector, while, for 만으로도 충분히 풀 수 있을 거라고 생각했다..)
(사실 위에 #include <stack>은 필요없을 듯 싶다.)
다음엔 큐를 사용한 풀이로도 시도해봐야겠다.
#include <string>
#include <vector>
#include <stack>
using namespace std;
vector<int> solution(vector<int> progresses, vector<int> speeds) {
vector<int> answer;
int num = 0;
int count = 0;
while(num < progresses.size()) {
count = 0;
for(int i=0; i<progresses.size(); i++) {
progresses[i] += speeds[i];
}
for(int i=num; i<progresses.size(); i++) {
if(progresses[i] >= 100) {
count++;
}
else {
break;
}
if(progresses[i+1] < 100) {
break;
}
}
num += count;
if(count>0)
answer.push_back(count);
}
return answer;
}
'프로그래머스' 카테고리의 다른 글
| 프린터 - 프로그래머스, c++ (0) | 2023.01.27 |
|---|---|
| K번째수 - 프로그래머스, c++ (0) | 2023.01.18 |
| 위장 - 프로그래머스, c++ (0) | 2023.01.13 |
| 전화번호 목록 - 프로그래머스, c++ (0) | 2023.01.12 |
| 폰켓몬 - 프로그래머스, c++ (0) | 2023.01.12 |