꾸준히 합시다
프로그래머스 자바스크립트 42586번: 기능개발 본문
https://programmers.co.kr/learn/courses/30/lessons/42586
문제 유형: 스택/큐
# Solution 1
function solution(progresses, speeds) {
let answer = [];
let day = new Array(progresses.length).fill();
for (let i = 0; i < progresses.length; i++) {
day[i] = Math.ceil((100 - progresses[i]) / speeds[i]);
}
// day 배열의 길이가 0보다 클 때까지 반복
while (day.length > 0) {
let finishIndex = day.findIndex((fn) => day[0] < fn);
if (finishIndex === -1) {
// 만약 찾지 못했다면 answer에 day 배열의 길이를 넣은 후, day 내부의 요소를 전부 삭제
answer.push(day.length);
day.splice(0, day.length);
} else {
// 만약 찾았다면, 해당 인덱스를 answer에 넣고, day에서 그만큼 제외
answer.push(finishIndex);
day.splice(0, finishIndex);
}
}
return answer;
}
'코딩 테스트 문제 풀이' 카테고리의 다른 글
프로그래머스 자바스크립트 135808번: 과일 장수 (0) | 2023.08.07 |
---|---|
프로그래머스 파이썬 42586번: 기능개발 (0) | 2021.10.23 |
백준 파이썬 4375번: 1 (0) | 2021.08.21 |
백준 파이썬 10430번: 나머지 (0) | 2021.08.20 |
백준 파이썬 10177번: Magic Squares (0) | 2021.08.09 |
Comments