-
문제
programmers.co.kr/learn/courses/30/lessons/42586
코드
function solution(progresses, speeds) { let answer = []; while (progresses.length) { // 1번째 자리가 100이 될 때까지 반복하여 더해준다. // 이로써, 1번째가 100이 될 때, 다른 자리의 값도 같은 횟수가 반복해서 더해지면서 // 기한 내에 도달 할 수 있는지, 없는지 확인이 가능한 상태가 된다. while (progresses[0] < 100) { progresses = progresses.map((value, index) => value + speeds[index]); } let tmpCount = 0; // 이 곳에서 100이 넘지 않는다는 것은 1번째 작업이 완성되기 이전에 // 완성될 수 없다는 것을 의미하여 break for (let i = 0; i < progresses.length; i++) { if (progresses[i] < 100) break; tmpCount++; } // 기간 내에 완성된 작업들을 잘라낸다. progresses.splice(0, successCount); speeds.splice(0, successCount); // n번째 작업 내에 완성되는 작업들의 개수를 answer 배열에 push answer.push(successCount); } return answer; }
'PS > 프로그래머스' 카테고리의 다른 글
[프로그래머스_스택] 다리를 지나는 트럭 ( by using JavaScript) (0) 2021.04.18 [프로그래머스_완전탐색] 소수찾기 ( by using JavaScript ) (0) 2021.04.15 [프로그래머스_구현] 모의고사 (0) 2021.04.15 [프로그래머스 ] 프린터(큐, by using javascript ) (0) 2021.04.06 [프로그래머스_해시] 위장 ( by using javascript) (0) 2021.04.06 댓글