본문 바로가기

카테고리 없음

프로그래머스>스택/큐> 기능개발

import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import java.util.Queue;


class Solution {
    public int[] solution(int[] progresses, int[] speeds) {
        int[] answer = {};
        
		Queue<Integer> periods = new LinkedList <Integer>();

		
		for ( int i = 0 ; i < progresses.length ; i ++ ) 
		{

			int value = (100-progresses[i]) / speeds[i];
			if ( (100-progresses[i]) % speeds[i] != 0 ) 
				value++;

			periods.add(value);
		}
		
		ArrayList<Integer> result = new ArrayList<Integer>();
		
		while( !periods.isEmpty() ) 
		{

			int cnt = 1 ;

			int period = periods.poll();

			while( !periods.isEmpty() && period >= periods.peek()) {
				periods.poll();
				cnt++;
			}
			
			result.add(cnt);
		}
		
		return result;
	}

}//class