기능개발

eunseo·2021년 7월 8일
0

Programmers

목록 보기
8/14

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를 이용해서 풀었다!

profile
backend developer

0개의 댓글

관련 채용 정보