uploaded at 2022. 12. 29. 오전 6:32:54
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
// [문제 링크]: https://school.programmers.co.kr/learn/courses/30/lessons/42586
|
||||
|
||||
import java.util.*;
|
||||
class Solution {
|
||||
public int[] solution(int[] progresses, int[] speeds) {
|
||||
int[] answer = {};
|
||||
boolean[] done = new boolean[speeds.length];
|
||||
ArrayList<Integer> al = new ArrayList<>();
|
||||
Deque<Integer> dq = new LinkedList<>();
|
||||
int day = 0, check = 0, start = 0;
|
||||
while(check==0){//Day
|
||||
day++;
|
||||
for(int a = 0; a < speeds.length; a++){
|
||||
if(!done[a]){
|
||||
if(progresses[a]<100){
|
||||
progresses[a] += speeds[a];
|
||||
} else {
|
||||
done[a] = true;
|
||||
dq.addFirst(a);
|
||||
}
|
||||
}
|
||||
}
|
||||
for(int a = start; a < speeds.length; a++){
|
||||
if(a == speeds.length-1 && done[a]) check = 1;
|
||||
if((!done[a] && dq.size()!= 0 )||check==1){
|
||||
Iterator<Integer> it = dq.iterator();
|
||||
int numb = 0;
|
||||
while(it.hasNext()){
|
||||
if(it.next()<=a) {
|
||||
it.remove();
|
||||
numb++;
|
||||
}
|
||||
}
|
||||
if(numb!=0) al.add(numb);
|
||||
}
|
||||
if(done[a] && dq.size()!= 0){
|
||||
continue;
|
||||
} else if(!done[a]){
|
||||
start = a;
|
||||
//System.out.println(a);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return al.stream().mapToInt(Integer::intValue).toArray();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user