설명은 주석을 보자!
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
|
#include <string>
#include <vector>
using namespace std;
vector<int> solution(vector<int> progresses, vector<int> speeds) {
vector<int> answer;
int max_day=0, day;
for(int i=0;i<progresses.size();i++){
//i번째 기능이 며칠 걸리는지 계산
day = (100-progresses[i])/speeds[i];
//만약에 나머지가 남아있다면 하루 더 계산해준다.
if((100-progresses[i])%speeds[i]>0) day++;
//첫번째 기능이거나, 더 오래걸리는 기능(max_day<day)이면 answer.push_back(1)
if(answer.empty() || max_day<day){
answer.push_back(1);
max_day=day;
}else //그게 아니라면 같이 나갈 수 있다는거니까, ++answer.back();
++answer.back();
}
return answer;
}
|
cs |