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 32 33 34 35 36 37 38 39 40 41 | #include <vector> #include <cmath> using namespace std; vector<int> solution(vector<int> progresses, vector<int> speeds) { vector<int> answer; vector<int> days_left_until_deployment(progresses.size()); // 배포까지 남은 일 수를 각각 저장할 벡터 for(int i = 0; i < progresses.size(); i++){ // 배포까지 남은 일 수를 각각 올림하여 저장 days_left_until_deployment[i] = int(ceil(double(100 - progresses[i])/double(speeds[i]))); } // 현재 배포에 같이 배포되기 위한, 배포까지 남은 일 맨 처음값으로 초기화 int current_max_day = days_left_until_deployment[0]; int collected_progresses_count = 1; // 현재 배포에 포함되는 작업 갯수, 맨 처음부터니까 1로 초기화 // 두 번째 작업부터 검사 for(int progress_index = 1; progress_index < progresses.size(); progress_index++){ if(days_left_until_deployment[progress_index] > current_max_day){ // 만약 최대 일수보다 많이남은 작업이라면 // 현재까지 수집한 작업들 갯수 저장 answer.push_back(collected_progresses_count); // 갯수는 현재 작업부터 새로 수집이므로 1로 초기화 collected_progresses_count = 1; // 남은 일 최대값 새로 설정 current_max_day = days_left_until_deployment[progress_index]; }else{ // 최대 일수 이하의 작업이라면, 현재 배포에 포함 collected_progresses_count++; } } // 현재까지 수집한 작업들 갯수 저장 answer.push_back(collected_progresses_count); return answer; } | cs |
'Problem-solving > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 124 나라의 숫자 (C++) (0) | 2020.03.30 |
---|---|
프로그래머스 - 스킬트리 (C++) (0) | 2020.03.27 |
프로그래머스 - [1차] 다트 게임 (C++) (0) | 2020.03.25 |
프로그래머스 - 실패율 (C++) (0) | 2020.03.24 |
프로그래머스 - [1차] 비밀지도 (C++) (0) | 2020.03.21 |
댓글