기능 개발
먼저 배포되어야 하는 순서대로 -> queue 활용
날짜를 기록하는 day를 이용하여 풀자
먼저 배포되어야 하는 것을 기준
100을 넘는다면
- Pop을 해 준다.
넘지 못한다면
- Day를 늘려준다
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <string>
#include <vector>
#include <iostream>
#include <queue>
using namespace std;
vector<int> solution(vector<int> p, vector<int> s) {
queue<int> q;
vector<int> answer;
int ans[100] = {0,};
int len = p.size();
int i = 0;
int day = 1;
for (int i = 0; i < len; i++) { // 먼저 나가야 하는 것들 부터 넣어주기
q.push(p[i]);
}
while (q.size()) {
int pro = q.front();
int complete = pro + (day * s[i]);
if (complete >= 100) { // 진도가 100 이상
ans[day]++;
q.pop();
i++;
}
else {
day++;
}
}
for(int i = 1;i <= day; i++){
if(ans[i]){
answer.push_back(ans[i]);
}
}
return answer;
}