탐욕, 그리디 문제
사람을 무게순으로 정렬
그리고 무거운 사람을 기준으로 무거운 사람과 가벼운 사람이 같이 탈 수 있는 지 확인
같이 탈 수 없다면 무거운 사람 한명만 구명보트에 태우고 같이 탈 수 있다면 가벼운 사람도 같이 태운다.
/*
1 <= people.length <= 50_000
40 <= people[?] <= 240
40 <= limit <= 240
항상 모든 사람을 구출 할 수 있음
*/
import java.util.*;
class Solution {
public int solution(int[] people, int limit) {
int answer = 0;
// 사람을 무게순으로 정렬
Arrays.sort(people);
int min = 0;
for (int i = people.length -1; i >= 0; i--) {
if (people[i]+ people[min] <= limit) {
min++;
}
answer++;
if (i <= min){
break;
}
}
return answer;
}
}