プログラマ-機能開発


1.質問


質問リンク


2.解答


2-1. 条件

  • 以降の機能は、前の機能配置時に一緒に配置される.
  • 2-2. に答える


    これは非常に簡単な問題です.
  • 毎日、仕事の進度が向上します.
  • の前の機能の進捗が100%の場合、後に配置する機能も一緒に数えます.
  • の正解配列にカウントを入れます.
  • 3.完全なコード

    function solution(progresses, speeds) {
        const ans = [];
        
        while (progresses.length) {
            // 2. 맨 앞의 기능의 진행률이 100%라면 뒤에 같이 배포해야될 기능들도 같이 셉니다.
            if (progresses[0] >= 100) {
                let count = 0;
                
                while (progresses.length && progresses[0] >= 100) {
                    count++;
                    progresses.shift();
                    speeds.shift();
                }
    
                // 3. 정답 배열에 카운트를 담습니다.
                ans.push(count);
            }
    
            // 1. 하루 지날 때마다 작업들의 진행률을 높여줍니다.
            speeds.forEach((speed, index) => progresses[index] += speed);
        }
    
        return ans;
    }