구명보트

LJM·2023년 4월 27일
0

programmers

목록 보기
35/92

https://school.programmers.co.kr/learn/courses/30/lessons/42885

import java.util.*;

class Solution {
    public int solution(int[] people, int limit) {
        int answer = 0;
        
        Arrays.sort(people);
        
        Deque<Integer> dq = new LinkedList<>();        
        for(int w : people)
            dq.add(w);
        
        int cur = 0;
        while(dq.isEmpty() == false)
        {
            int f = dq.peekFirst();
            int l = dq.peekLast();
            cur = l+f;
            
            if(cur > limit)
            {
                dq.pollLast();
                cur = 0;
                answer++;
            }
            else
            {
                if(dq.isEmpty() == false && limit >= (cur + dq.peekFirst()))
                {
                    dq.pollFirst();
                }
                else
                {
                    dq.pollFirst();
                    dq.pollLast();
                    cur = 0;
                    answer++;
                }
            }
        }
        
        return answer;
    }
}
profile
게임개발자 백엔드개발자

0개의 댓글