[Programmers] 스택/큐 - 기능개발

zzenee·2022년 5월 3일
0

Algorithm&Coding-test

목록 보기
8/30
post-thumbnail

Problem

Code

import java.util.*;
class Solution {
    public int[] solution(int[] progresses, int[] speeds) {
        ArrayList<Integer> list = new ArrayList<>();
        
        Queue<Integer> q = new LinkedList<>();
        for (int i=0; i<progresses.length; i++) {
            double tmp = (double)(100-progresses[i])/speeds[i];
            q.offer((int)Math.ceil(tmp));
        }
        
        int before = q.poll();
        int cnt = 1;
        while(!q.isEmpty()) {
            int now = q.poll();
            if (before >= now) {
                cnt++;
            } else {
                list.add(cnt);
                before = now;
                cnt = 1;
            }
            if (q.isEmpty()) {
                list.add(cnt);
            }
        }
        return list.stream().mapToInt(Integer::intValue).toArray();
    }
}

Note

ArrayList > Array 변환
1) int[] arr = arraylist.stream().mapToInt(Integer::intValue).toArray()
2) Integer[] arr = list.toArray(new Integer[0])

Array > ArrayList 변환
1) List <Integer> list = Arrays.asList(arr);
2) List<Integer> list = Arrays.stream().boxed().collect(Collectors.toList());

profile
꾸준히

0개의 댓글