문제 : https://programmers.co.kr/learn/courses/30/lessons/42586

 

코딩테스트 연습 - 기능개발

프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는

programmers.co.kr

 

나의 풀이

 

#include <string>
#include <vector>

using namespace std;

vector<int> solution(vector<int> progresses, vector<int> speeds) {

    vector<int> answer;
    vector<int> dday;

    for (int i = 0; i < progresses.size(); i++)
    {
        if ((100 - progresses[i]) % speeds[i] != 0) dday.push_back((100 - progresses[i]) / speeds[i] + 1);
        else dday.push_back((100 - progresses[i]) / speeds[i]);
    }

    int cnt = 0;
    int day = 0;

    for (int i = 0; i < dday.size(); i++)
    {
        if (dday[i] > day) {
            day = dday[i];

            for (int j = i; j < dday.size(); j++)
            {
                if (dday[j] <= day)
                {
                    cnt++;
                }
                else
                {
                    i = j - 1;
                    break;
                }
            }
            if (!cnt)break;

            answer.push_back(cnt);
            cnt = 0;
        }
    }
    return answer;
}

다른사람 풀이를 보니 한싸이클로 풀다니...

Posted by pi92

블로그 이미지
pi92

공지사항

Yesterday
Today
Total

달력

 « |  » 2025.5
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

최근에 올라온 글

최근에 달린 댓글

글 보관함