주소
코드 & 풀이
vector<int> solution(vector<int> progresses, vector<int> speeds) {
vector<int> answer;
int day;
int max_day = 0;
for (int i = 0; i < progresses.size(); ++i)
{
// 각 작업이 완료되기까지 걸리는 일수 계산
day = (99 - progresses[i]) / speeds[i] + 1;
// 첫 번째 작업은 1개로 시작, 이후 같은 날에 완료된 작업을 합침
if (max_day < day)
{
answer.push_back(1); // 새로운 배포
max_day = day; // 가장 늦게 완료된 날 갱신
}
else
{
++answer.back(); // 같은 날에 완료된 작업 수 증가
}
}
return answer;
}
주석 그대로임
각 작업이 완료되는데 필요한 일수를 계산해서
이를 기반으로 답을 구해갑니다.
현재 최대 일수보다 크다는 것은
지금 완료 되지 않는 다는 것을 뜻하니까,
anwer에 새로 추가
현대 최대 일수보다 작거나 같다면
작업이 완료되고 대기하고 있었던 거니까
추가하는 게 아니고 기존의 것에 + 1을 해줍니다.
728x90
'프로그래머스 > Lv.2' 카테고리의 다른 글
[PCCP 기출문제] 2번 > 퍼즐 게임 챌린지 - Python, binary_search(이진 탐색) (0) | 2025.02.26 |
---|---|
올바른 괄호 - C++, Stack (0) | 2025.02.22 |
2025 프로그래머스 코드챌린지 2차 예선 > 서버 증설 횟수 - Python, 구현 (0) | 2025.02.15 |
2025 프로그래머스 코드챌린지 1차 예선 > 비밀 코드 해독 - Python, Combinations, & 연산 (0) | 2025.02.14 |
2025 프로그래머스 코드챌린지 1차 예선 > 지게차와 크레인 - Python, BFS (0) | 2025.02.12 |