https://programmers.co.kr/learn/courses/30/lessons/42586
- 남은 진도율을 진도 스피드로 나누고 올림해준다.(2.5일같은건 없으니까!)
- 만약 첫 번째 기능이 7일 후 완료되는데, 그 다음 기능이 3일만에 완성됐다하더라도 그 전 기능이 완료되어지지 않았으니 배포될 수 없어 앞 기능이 완료될 때, 같이 배포된다.
- 같은 날에 끝나는 기능이 있는 확인해 같은 날에 배포되도록 계산해준다.
function solution(progresses, speeds) {
var remem = 0;
var rememArr = [];
var cntArr = [];
for(var i = 0; i < progresses.length; i++){
var todo = 100 - progresses[i];
var now = Math.ceil(todo/speeds[i]);
//전 기능 완료일보다 뒷 기능이 먼저 완료될 시 전 기능 완료일에 맞춰 배포되도록 설정
if(remem >= now){
now = remem;
}else{
remem = now;
}
//몇 일 만에 몇 개가 배포되는지 배열에 저장
if(rememArr.indexOf(now) == -1){
cntArr.push(1);
rememArr.push(now);
}
//이미 완료일이 배열안에 있을 때, 배포날에 맞는 기능 갯수를 하나 늘려줌
else{
cntArr[rememArr.indexOf(now)]++;
}
}
return cntArr;
}
선생님 이번글 너무 짧은거 아닙니까!!!!!! 아쉬워용 삉 ☆: .。. o(≧▽≦)o .。.:☆