본문 바로가기
Study Note/Algorithm

프로그래머스 #스택/큐 - 기능개발 lv2

by 시뮝 2021. 1. 16.
728x90

/**
 * @params progresses 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열
 * @params speeds 각 작업의 개발 속도가 적힌 정수 배열 speeds
 */
function solution(progresses, speeds) {
    let answer = [];
    
    let progressesStack = [...progresses];
    let len = progresses.length;
    let days = 0; //경과일
    
    for(let i=0; i<len; i++) {
        //경과시간에 따른 진도율 더하기
        let progres = progressesStack[i] + speeds[i]*days; 

        //100 이상일 경우 완료 갯수 추가
        if(99 < progres) {
            if(0 < answer.length) {
                answer[answer.length-1]++;
            } else {
                answer.push(1);
            }
        } else {
            answer.push(1);
            
            //100 미만일 경우 하루 추가
            while(100 > progres) {
                progres += speeds[i]; //100이상이 될때까지 더함.
                days++; //하루가 지남.
            }
        }
    }
    
    
    return answer;
}

728x90

댓글