#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;
}

+ Recent posts