프로그래머스 - 기능개발
풀이
- progresses를 순회하면서 
개발까지 남은 양 / 개발 속도 값을 담은 배열 time을 만들어줌 -> 개발까지 남은 일수를 계산
❗️나누어 떨어지지 않는 경우 하루가 더 걸림 
- ArrayList 자료형을 선언해서 time을 순회하면서 한 번에 배포할 수 있는 progresses의 개수를 세어 추가
➡️ max를 정해서 max보다 작은 값을 만나면 count++ (한 번에 배포할 수 있는 프로그램의 수)
➡️ max보다 큰 값을 만나면 count를 리스트에 추가하고 max값으로 저장 
코드
import java.util.*;
public class FunctionDevelopment {
	public int[] solution(int[] progresses, int[] speeds) {
		int[] time = new int[progresses.length];
		for (int i = 0; i < progresses.length; i++) {
			time[i] = ((100 - progresses[i]) / speeds[i]) + ((100 - progresses[i]) % speeds[i] > 0 ? 1 : 0);
		}
		List<Integer> result = new ArrayList<>();
		int max = time[0];
		int count = 1;
		for (int i = 1; i < time.length; i++) {
			if (time[i] <= max) {
				count++;
			}
			else {
				max = time[i];
				result.add(count);
				count = 1;
			}
		}
		result.add(count);
		int[] resultArr = new int[result.size()];
		for (int i = 0; i < result.size(); i++) resultArr[i] = result.get(i);
		return resultArr;
	}
	public static void main(String[] args) {
		FunctionDevelopment functionDevelopment = new FunctionDevelopment();
		System.out.println(Arrays.toString(functionDevelopment.solution(new int[]{93, 30, 55}, new int[]{1, 30, 5})));  
		System.out.println(Arrays.toString(functionDevelopment.solution(new int[]{1, 1, 1, 1}, new int[]{100, 50, 99, 100}))); 
	}
}