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;
}
}