728x90
반응형
문제
풀이
function solution(progresses, speeds) {
var answer = [];
let days = 1;
let count = 0;
for(let i = 0; i < progresses.length; i++) {
while(progresses[i] + days * speeds[i] < 100) {
days++;
}
if(progresses[i] + days * speeds[i] >= 100) {
if(progresses[i+1] + days * speeds[i+1] >= 100) {
count++
} else {
count++
answer.push(count);
count = 0
}
}
}
return answer;
}
[내 풀이]
function solution(progresses, speeds) {
let answer = [0];
let days = progresses.map((progress, index) => Math.ceil((100 - progress) / speeds[index]));
let maxDay = days[0];
for(let i = 0, j = 0; i< days.length; i++){
if(days[i] <= maxDay) {
answer[j] += 1;
} else {
maxDay = days[i];
answer[++j] = 1;
}
}
return answer;
}
[다른분의 풀이]
728x90
반응형
'Study > 알고리즘' 카테고리의 다른 글
[프로그래머스] 가장 큰 수 (Javascript) (0) | 2022.06.09 |
---|---|
[프로그래머스] 로또의 최고 순위와 최저 순위 (Javascript) (0) | 2022.03.23 |
[프로그래머스] K번째수 (Javascript) (0) | 2022.02.19 |
시간 복잡도란? (0) | 2022.01.29 |
[백준] 18258 큐2 JavaScript (0) | 2021.09.13 |