자료구조&알고리즘/코딩테스트
기능개발(프로그래머스, JavaScript)
밍풀
2023. 1. 23. 01:28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
//다른이의 풀이
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;
}
//나의풀이
function solution(progresses, speeds) {
let answer = [];
let count=0;
while(progresses.length>0){
let t = Math.ceil((100-progresses[0])/speeds[0]);
progresses=progresses.map((x,index)=>x+speeds[index]*t);
for(let i=0;i<progresses.length;i++){
if(progresses[i]>=100){
count++;
}else break;
}
answer.push(count);
for(let i=0;i<count;i++){
progresses.shift();
speeds.shift();
}
count=0;
}
return answer;
}
|
cs |