코딩테스트/프로그래머스

[Level 2][C++] 기능개발

MJ.Lee 2024. 10. 10. 22:36
#include <string>
#include <vector>

using namespace std;

vector<int> solution(vector<int> progresses, vector<int> speeds) {
    vector<int> answer;
    int days=1;                //날짜 1일 부터 시작.
    int idx=0;               //맨 앞에 프로젝트 부터 시작
   while(true)
   { 
       int count = 0;                //이날 배부된 프로젝트 개수.
       while(progresses[idx]+days*speeds[idx]>=100)
       {
           idx++;               //다음 프로젝트로 넘어감. 끝난 프로젝트가 다 배부될 때까지.
           count++;
           if(idx==progresses.size())               //프로젝트가 모두 마감되면 나온다.
               break;                             
       }
       if(count>0)                      //프로젝트 완료된 것이 있을 때만 기록한다.
           answer.push_back(count);
       if(idx==progresses.size()) //프로젝트가 모두 마감되면 반복문을 마저 벗어난다.
           break;
       days++;
   }
         
    return answer;
}