250x250
반응형
Notice
Recent Posts
Recent Comments
Link
N
(프로그래머스 c++)기능개발 본문
728x90
반응형
우선 개발을 하는 데 걸리는 시간을 day 벡터에 넣어준다..!
예시대로 하면 day에는
{7, 3, 9}가 들어가게 된다.
그리고 while문으로 day가 빌 때까지 실행을 한다.
맨 앞에 있는 시간을 current에 저장해 두고, int형 ind를 선언한다.
ind는 current보다 큰 수를 만날때까지 ind++을 해준다.
큰 수를 만나면 break를 하여 for문을 빠져나간 후, day 벡터의 처음부터 ind까지 지워버린다.
그리고 ind를 answer에 넣어주면 배포의 개수를 알 수 있다..!
#include <string>
#include <vector>
#include <iostream>
using namespace std;
vector<int> solution(vector<int> progresses, vector<int> speeds) {
vector<int> answer, day;
int current = 0, count = 0;
for(int i = 0; i < progresses.size(); i++)
{
current = 100 - progresses[i];
if(current % speeds[i])
current = current / speeds[i] + 1;
else
current /= speeds[i];
day.push_back(current);
}
while(!day.empty())
{
int ind = 0;
current = day.front();
for(int i = 0; i < day.size(); i++)
{
if(current >= day[i])
ind++;
else
break;
}
for(int i = 0; i < ind; i++)
day.erase(day.begin());
answer.push_back(ind);
}
return answer;
}
728x90
반응형
'프로그래머스 알고리즘 > 2단계' 카테고리의 다른 글
(프로그래머스 c++)탑 (0) | 2020.05.06 |
---|---|
(프로그래머스 c++)스킬트리 (0) | 2020.05.06 |
(프로그래머스 c++)124 나라의 숫자 (0) | 2020.05.06 |
(프로그래머스 c++)프린터 (0) | 2020.05.04 |
(프로그래머스 c++)주식가격 (0) | 2020.05.04 |