Stack/Queue_기능개발 (C++)

선풍기·2023년 12월 25일

프로그래머스

목록 보기
3/8

문제

기능개발


이 문제를 푸고 설계를 한 것은 while문을 사용하여야 할 것 같은데 끝나는 조건을 어떻게 설계할 것인지를 가장 먼저 설계하였고,
진행과정을 저장하는 변수 pro라는 변수를 만들어
이 pro 라는 변수가 더 커지면 멈추게 설계하였다.

거기까지 설계하니 그 뒤는 가볍게 풀렸다.

정답 코드

#include <iostream>
#include<vector>
using namespace std;

vector<int> solution(vector<int> progresses, vector<int> speeds) {
    vector<int> answer;
    int pro = 0; //진행과정 저장
    while (pro<progresses.size()) {
        int i = 0;
        int cnt = 0;
        for (vector<int>::iterator iter = speeds.begin();iter != speeds.end();iter++) {
            progresses[i++] += *iter; //모든 값에 speed만큼 더해주기
        }
        while (pro < progresses.size()&&progresses[pro] >= 100) {
            cnt++;
            pro++;
        }
        if (cnt != 0) {
            answer.push_back(cnt);
        }
    }
    return answer;
}


0개의 댓글