본문 바로가기

개발/알고리즘 & 자료구조

[프로그래머스] 기능 개발

반응형

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

 

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

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

programmers.co.kr

 

#include <string>
#include <vector>
#include <iostream>

using namespace std;

vector<int> solution(vector<int> progresses, vector<int> speeds) {
    vector<int> answer;
    
    int tmpAns = 0;
    int lastCost = -1;
    
    for(int i=0;i<progresses.size();i++) {
        int curCost = (100-progresses[i]) / speeds[i];
        
        
        if(lastCost == -1) {
            lastCost = curCost;
            tmpAns = 1;
            continue;
        }
        
        if(lastCost >= curCost) {
            tmpAns += 1;
            continue;
        }
        
        if(lastCost < curCost) {
            lastCost = curCost;
            answer.push_back(tmpAns);
            tmpAns = 1;
            continue;
        }
    }
    
    if(tmpAns > 0 ) {
        answer.push_back(tmpAns);
    }
    
    return answer;
}

 


작업 순서대로 소요예상 시간을 구하고
앞 작업이 끝나기 전에 뒷 작업들이 끝나면
해당 작업들이 한번에 끝나는 것으로 answer 배열에 넣어주면 된다.


Kotlin으로 풀어보려했는데 아무래도 C++이 손에 익숙하네,,

반응형