C++/programmers 코딩테스트(level 2) C++

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

CE : 하랑 2023. 9. 29. 14:44

 

 

 

 

코드

 

#include <vector>
#include <queue> // 큐

using namespace std;

vector<int> solution(vector<int> progresses, vector<int> speeds) {
    vector<int> answer;
    queue<int> q;
    
    for(int i=0;i<speeds.size();i++){ // 작업일 계산 후 큐에 삽입
        if((100-progresses[i])%speeds[i]==0){
            q.push((100-progresses[i])/speeds[i]); 
        }else{
            q.push((100-progresses[i])/speeds[i]+1);
        }
    }
    
    int count=0; // 같은 작업 일수 및 적은 일수 카운트
    int num=q.front();

    while(!q.empty()){
        
        if(num>=q.front()){
            count++;
            q.pop();
            
        }else{
            answer.push_back(count);
            count=1;
            num=q.front();
            q.pop();
        }
    }
    
    answer.push_back(count);
    return answer;
}