function solution(progresses, speeds) {
var answer = []
const queue = []
for (let i = 0; i < progresses.length; i++) {
// 각각의 진행률을 계산,
queue.push(Math.ceil((100 - progresses[i]) / speeds[i]))
}
let cnt = 0
let st = []
while (queue.length !== 0) {
// 기준으로 삼을 맨 첫번째 요소
let queueNum = queue[0]
//st 배열에 넣는다
st.push(queueNum)
queue.shift()
// 넣어진 스택(st)이 더 크거나 같으면 계속해서 st에 넣으면서 cnt를 증가시켜준다
// 더 작다면 기본값 기본값 하루(1)을 더하고 answer배열에 추가한다.
// 다음 진행을 위해 st를 초기화하고 다시 0으로 초기화시킨다.
if (queue[0] <= st[0]) {
st.push(queueNum)
cnt++
} else {
cnt++
answer.push(cnt)
st = []
cnt = 0
}
}
return answer
}
solution([95, 90, 99, 99, 80, 99], [1, 1, 1, 1, 1, 1])
// solution([93, 30, 55], [1, 30, 5])
Math.ceil((100 - progresses[i]) / speeds[i])
여기서