[Javascript] 프로그래머스 스택/큐:기능개발

이두팔·2020년 12월 31일
0

프로그래머스

목록 보기
8/9

문제

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

해설

const progresses = [93, 30, 55]
const speeds = [1, 30, 5]

let count = [];
let output = [];

// 걸리는 시간 구하기
for (let i = 0; i < progresses.length; i++) {
  // 100미만이 될 때까지 count에다가 더하기
  while (progresses[i] < 100) {
    progresses[i] += speeds[i]
    count[i] = count[i] > 0 ? count[i] + 1 : 1;
  }
}

// 첫번째 카운트를 변수로 선언
let max = count[0];

let temp = 0;
for (let j = 0; j < count.length; j++) {
  if (max >= count[j]) {
    // 현재 max가 인덱스값 보다 크거나 같은 경우
    // temp에다가 1을 더한다
    temp += 1;
  } else {
    // 그렇지 않은 경우
    // 새로운 아웃풋을 추가한다음 1을 넣어준다.
    output.push(temp);
    max = count[j];
    temp = 1;
  }
}

output.push(temp);

// 최종 정답
console.log(output);
profile
Software Engineer

0개의 댓글