import java.util.*;
public class 기능개발 {
public List<Integer> solution(int[] progresses, int[] speeds) {
Queue<Integer> q = new LinkedList<>();
List<Integer> answer = new ArrayList<>();
int day = 0;
for(int i=0; i<progresses.length; i++){
day = (100-progresses[i]) % speeds[i]==0?
(100-progresses[i]) / speeds[i] :
(100-progresses[i]) / speeds[i]+1;
q.offer(day);
}
System.out.println(q);
int preday = q.poll();
int cnt = 1;
while(!q.isEmpty()){
int curday = q.poll();
if(preday >= curday){
cnt++;
}else{
answer.add(cnt);
preday = curday;
cnt = 1;
}
}
answer.add(cnt);
return answer;
}
}
처음 day를 구할 때 (100-progress[i])/speeds[i]로만 하여 원하는 큐 값이 나오지 않았다. 삼항연사자를 이용해서 나머지가 0일 경우는 그냥 나누고 0이 아닐 경우 1을 더해줘야 한다.!
초기 answer은 배열이었지만 answer의 길이가 달라질 수 있으므로 List를 이용해서 풀었다!