https://school.programmers.co.kr/learn/courses/30/lessons/42586
큐를 사용해서 해결할 수 있다.
큐에 개발 기간을 저장한다.
큐에서 요소를 뽑고 뽑은 요소보다 작은 개발 기간이 존재하는 경우 함께 배포한다.
#include <string>
#include <vector>
#include <iostream>
#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<progresses.size();i++){
int progress = progresses[i];
int speed = speeds[i];
int range = 100 - progress;
int day = 0;
while(range > 0){
range -= speed;
day++;
}
q.push(day);
}
while(!q.empty()){
int now = q.front();
q.pop();
int process = 1;
while(!q.empty()){
int to = q.front();
if(now >= to){
process++;
q.pop();
}
else
break;
}
answer.push_back(process);
}
return answer;
}
'Programmers Review' 카테고리의 다른 글
[Lv 2] 구멍보트 (0) | 2024.07.01 |
---|---|
[Lv 2] 가장 큰 정사각형 찾기 (0) | 2024.06.28 |
[Lv 2] 프로세스 (0) | 2024.06.28 |
[Lv 2] 더 맵게 (0) | 2024.06.28 |
[Lv 2] H-Index (0) | 2024.06.28 |