1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import java.util.ArrayList;
 
import java.util.Collections;
import java.util.Comparator;
 
import java.util.Arrays;
class Solution {
    public int solution(int[] people, int limit) {
     ArrayList<Integer> al = new ArrayList<>();
        for(int i=0; i<people.length; i++) {
            al.add(people[i]);
        }
        
        Collections.sort(al, new Comparator<Integer>() {
 
            @Override
            public int compare(Integer o1, Integer o2) {
                // TODO Auto-generated method stub
                return o2-o1;
            }
        });
        
        int ans = 0;
        int start = 0;
        int end = people.length-1;
        while(start<=end) {
            if(al.get(start)+al.get(end)<=limit) {
                end-=1;
            }
            start+=1;
        }
        return start;
    }
}
cs

이 문제를 처음 접근할땐 그리디 방식으로 접근했는데 아니었다. 그렇게 하면 엇나가드라...

나는 투포인트 방식으로 해결했다. 문제가 조금 어려웠다. ㅠ 고생해서..휴휴