import java.util.LinkedList;
import java.util.Queue;
public class FunctionDev {
public int[] solution(int[] progresses, int[] speeds) {
LinkedList<Integer> list = new LinkedList<>();
Queue<Integer> queue = new LinkedList<>();
for (int i = 0; i < progresses.length; i++) {
queue.offer((int) Math.ceil((double) (100 - progresses[i]) / speeds[i]));
}
int count = 1, ele = queue.poll();
while (!queue.isEmpty()) {
if (ele >= queue.peek()) {
count++;
queue.poll();
} else {
list.add(count);
count = 1;
ele = queue.poll();
}
}
list.add(count);
return list.parallelStream().mapToInt(i -> i.intValue()).toArray();
}
public static void main(String[] args) {
FunctionDev s = new FunctionDev();
int[] progresses = { 93, 30, 55 };
int[] speeds = { 1, 30, 5 };
s.solution(progresses, speeds);
}
}
Math.ceil() : 올림(return type : double)
Math.floor() : 버림(return type : double)
Math.round() : 반올림(return type : double)
stack.clear(), queue.clear() : 스택 또는 큐를 비움