IT/Programmers

[Programmers] 기능개발

개발자희망생고롸파덕 2024. 3. 18. 17:28

사용언어 : javascript

lv.2

소요시간 : 32분 19초

유형 : Stack / Queue

 

#문제

출처 : 프로그래머스

#제출코드

function solution(progresses, speeds) {
    let answer = [];
    let queue = [];
    let i = 0;
    
    progresses.map((p, index) => {
        let day = Math.ceil((100-p)/speeds[index]);
        
        if(queue.length === 0){
            queue.push(day);
            answer.push(1);
        }else{
            if(queue[0] >= day){
                answer[i] +=1;
            }else{
                queue.shift();
                queue.push(day);
                answer.push(1);
                i +=1;
            }
        }
    });
    
    return answer;
}