05.06에 푼 문제입니다🌷
기능개발
이 문제는 stack를 활용한 문제이다.
stack에서 이전 기능을 pop해서 날짜가
이전 날이 크면 이전 날의 배포 갯수(stack[][1])에 1을 더해준다.
function solution(progresses, speeds) {
var answer = [];
var stack=[]
for (let i in progresses){
var days=(100-progresses[i])
if (days%speeds[i]===0) days=days/speeds[i]
else days=Math.floor(days/speeds[i])+1
if(stack.length===0) stack.push([days,1])
else{
var exday=stack.pop()
if(exday[0]>=days){
exday[1]++
stack.push(exday)
}
else{
stack.push(exday)
stack.push([days,1])
}
}
}
for(let i in stack){
answer.push(stack[i][1])
}
return answer;
}