#include <string>
#include <vector>
using namespace std;
vector<int> solution(vector<int> progresses, vector<int> speeds) {
vector<int> answer;
//먼저 배포되어야 하는 순서대로 배포일 저장
vector<int> result;
//결과 저장
//각 작업 별 배포 가능 일 계산 후 answer vector에 push_back
for (int i = 0; i < progresses.size(); i++)
{
int tmp = ((100 - progresses.at(i)) / speeds.at(i));
answer.push_back(tmp);
}
answer.push_back(100);
//아래 for문의 조건에서 마지막 push_back을 해주기 위한 dummy값
int rank=answer.at(0);
//rank를 통해 rank이전에 몇가지 작업이 있었는지 check
int cnt=0;
//cnt를 통해 이전에 어디까지 count했는지 저장
for (int i = 0; i < answer.size(); i++)
{
//마지막 index라면 결과를 무조건 push_back
if (i == (answer.size() - 1))
{
result.push_back(i - cnt);
}
//현재 index의 값이 rank보다 크다면 이전까지 개수를
//count 하여 result에 push_back
else if (answer.at(i) > rank)
{
rank = answer.at(i);
result.push_back(i - cnt);
cnt = i;
}
}
return result;
}
'알고리즘' 카테고리의 다른 글
[PROGRAMMERS/Level2] (C++) 탑 (0) | 2020.07.07 |
---|---|
[PROGRAMMERS/Level2] (C++) 주식가격 (0) | 2020.07.07 |
[BAEKJOON 1193번] (Java) 분수찾기 (0) | 2020.06.18 |
[BAEKJOON 10809번] (Java) 알파벳 찾기 (0) | 2020.06.18 |
[BAEKJOON 2292번] (Java) 벌집 (0) | 2020.06.18 |