본문 바로가기
Algorithm.

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

by 코라채 2024. 8. 14.
728x90

프로그래머스 문제 링크
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;
}
728x90

'Algorithm.' 카테고리의 다른 글

그래프  (4) 2024.08.25
[코테 합격자되기 Js] 문제 17 카드뭉치  (0) 2024.08.14
알고리즘 개념 , 큐  (0) 2024.08.13
이진 트리 binary tree  (0) 2024.08.13
해시 개념 정리  (0) 2024.08.13