코딩테스트 연습 - 기능개발 | 프로그래머스 (programmers.co.kr)
접근 방법
알고리즘 : 스택
1.progresses와 speeds를 돌며 progresses 증가
2. 첫번째 요소가 100이되면 앞쪽부터 완료된 기능을 splice를 활용해 stack으로 push해준다.
3. stk에 들어온 요소의 개수를 answer에 추가하고 stk 초기화
Javascript
function solution(progresses, speeds) {
var answer = [];
let len = progresses.length;
let stk = [];
for(let i=1;i<=100;i++){
if(progresses.length===0) break;
for(let j=0;j<len;j++){
if(progresses[j]<100)
progresses[j]+=speeds[j];
}
while(progresses[0]>=100){
stk.push(progresses.splice(0,1)[0]);
speeds.splice(0,1);
}
if(stk.length>=1){
answer.push(stk.length);
while(stk.length>0){
stk.pop();
}
}
}
return answer;
}
'코딩테스트(알고리즘) > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 소수찾기 (Javascript) (0) | 2022.06.21 |
---|---|
[프로그래머스] 위장 (Javascript) (0) | 2022.06.20 |
[프로그래머스] 수식 최대화 (Javascript) (0) | 2022.06.20 |
[프로그래머스] 행렬의 곱셈 (Javascript) (0) | 2022.06.18 |
[프로그래머스] 프린터 (Javascript) (0) | 2022.06.16 |