[스택/큐] 기능개발 (lv2)
기능개발
import java.util.*;
class Solution {
public int[] solution(int[] progresses, int[] speeds) {
List<Integer> ans = new ArrayList<Integer>();
int[] dev = new int[progresses.length];
Queue<Integer> queue = new LinkedList<>();
for (int i=0; i<progresses.length; i++) {
int progress = progresses[i];
int day = 0;
while (true) {
progress += speeds[i];
day++;
if (progress >= 100) {
break;
}
}
dev[i] = day;
queue.offer(day);
}
int tmp = 0;
int count = 0;
while (!queue.isEmpty()) {
if (tmp >= queue.peek()) {
queue.poll();
} else {
tmp = queue.poll();
}
count++;
if (queue.isEmpty()) {
ans.add(count);
} else if (queue.peek() > tmp) {
ans.add(count);
count = 0;
tmp = 0;
}
}
return ans.stream().mapToInt(i->i).toArray();
}
}