[프로그래머스] 기능개발 (JS)

hhkim·2023년 8월 26일
0

Algorithm - JavaScript

목록 보기
114/188
post-thumbnail

풀이 과정

  1. 각 진도에 대해 작업이 끝나기까지 남은 일수 배열 만들기: map()
  2. 1번 배열에 대해 반복
  3. 임시 배열에 있는 첫 번째 수보다 현재 수가 작거나 같으면 넣기
    아니면 현재 임시 배열 길이를 결과 배열에 넣고 임시 배열 비운 뒤 현재 수 넣기

코드

function solution(progresses, speeds) {
  const days = progresses.map((e, i) => Math.ceil((100 - e) / speeds[i]));
  const result = [];
  let tmp = [];
  for (const day of days) {
    if (tmp[0] < day) {
      result.push(tmp.length);
      tmp = [];
    }
    tmp.push(day);
  }
  if (tmp.length) result.push(tmp.length);
  return result;
}

0개의 댓글