유리의 개발새발
[Algorithms] 기능개발 본문
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/42586
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
오늘은 시간이 없어서, 비교적 쉬운 문제를 풀겠습니다.
1. 각 작업들에 대하여, 남은 일 수를 계산해서 배열화 합니다.
2. 0번 인덱스부터 순회하면서 배포 그룹을 정하면서 카운트를 합니다.
이게 끝입니다.
// 각 작업의 남은 작업일을 계산
// 현재 배포 그룹의 최대 작업일(maxDay)보다 작거나 같으면 같이 배포
// 크다면 지금까지의 count를 answer에 추가하고 새 배포 그룹 시작
function solution(progresses, speeds) {
const days = progresses.map((p, i) => Math.ceil((100 - p) / speeds[i]) );
const answer = [];
let maxDay = days[0];
let count = 1;
for (let i = 1; i < days.length; i++) {
if (days[i] <= maxDay) {
count++;
} else {
answer.push(count);
count = 1;
maxDay = days[i];
}
}
answer.push(count);
return answer;
}
설명이 부족하여 죄송합니다. 저 알바가야해요ㅠ
반응형
'Algorithms' 카테고리의 다른 글
| [Algorithms] 완전탐색 (2) | 2025.07.18 |
|---|---|
| [Algorithms] 멘토멘티 (2) | 2025.07.14 |
| [Algorithms] 피보나치수 (2) | 2025.07.03 |
| [Algorithms] 다음 큰 숫자 (0) | 2025.07.03 |
| [Algorithms] 숫자의 표현 (1) | 2025.07.02 |