본문 바로가기
Studieeeeee~./JS Algorism Test

[코테 합격자되기 Js] 문제 16 기능 개발

by dev챙 2024. 8. 14.

프로그래머스 문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/42586

풀이 방법

처음에 큐 없이 풀 수 있지 않을까 하는 생각에 먼저 풀이 순서를 작성했다.

  1. progresses배열과 speeds배열로 인덱스마다 작업 소요일을 계산한다.
  2. 앞에 인덱스와 뒤에 인덱스를 비교하여 앞의 인덱스보다 뒤의 인덱스가 작업 소요일이 더 작거나 같으면 앞의 인덱스가 완료되었을 때, 작거나 같은 인덱스와 함께 배포된다.
  3. 배포되고 난뒤에 남은 배열의 요소들도 같은 방법으로 배열의 모든 요소가 없어질 때까지 반복한다.

막상 풀고 나니 아래 코드가 결국 큐 같다는 생각이 들었다.


function solution(progresses, speeds) {
    let answer = [0];

    const Days = progresses.map((item, i)=> Math.ceil((100-item)/speeds[i]));

    let MaxDeploy = Days[0];

    for (i= 0, j = 0; i < progresses.length; i++){

        if (Days[i]  <= MaxDay){
            answer[j]++

        } else {
            answer[++j] = 1;
            MaxDeploy = Days[i];
        }
    }
    return answer;
}

'Studieeeeee~. > JS Algorism Test' 카테고리의 다른 글

그래프  (4) 2024.08.25
js 알고리즘 테스트 환경 VS code로 세팅하기  (0) 2024.08.22
[코테 합격자되기 Js] 문제 17 카드뭉치  (0) 2024.08.14
  (0) 2024.08.13
이진 트리 binary tree  (0) 2024.08.13