[프로그래머스] 코딩테스트 연습 - 29

krkorklo·2022년 2월 3일
0

프로그래머스

목록 보기
29/78

level 2 - 기능개발

먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요.

입출력 예시
progresses : [95, 90, 99, 99, 80, 99]
speeds : [1, 1, 1, 1, 1, 1]
-> [1, 3, 2]

function solution(progresses, speeds) {
    var answer = [];
    var pre = 0;
    
    progresses.forEach((p, i) => {
        var day = Math.ceil((100 - p) / speeds[i]);
        if (pre < day) {
            answer.push(1);
            pre = day;
        } else {
            answer[answer.length - 1]++;
        }
    })
    
    return answer;
}

백준 알고리즘에서였나 이퍼 준비하면서였나 언젠가 풀어봤던 것 같다.
기억은 잘 안 나서 새로운 마음으로 풀었다.

0개의 댓글