2명을 가장 효율적으로 태우는 방법은 남은 사람 중 가장 무거운 사람과 가장 가벼운 사람을 태우는 것을 파악하는 것이 중요했다.
import java.util.*;
class Solution {
public int solution(int[] people, int limit) {
int answer = 0;
Arrays.sort(people);
int start = 0, end = people.length-1;
while(start<=end) {
if(people[end]+people[start]<=limit) {
start++;
end--;
answer++;
}
else {
end--;
answer++;
}
}
return answer;
}
}
먼저 오름차순으로 정렬한 뒤, 가장 무거운 사람과 가장 가벼운 사람의 무게 합이 limit를 넘는지 확인한 뒤, limit를 넘지 않는다면 start, end 값을 한 칸씩 옮겨주고, limit를 넘는다면 현재 가장 무거운 사람은 누구와도 함께 탈 수 없기 때문에 end값만 한 칸을 옮겨준다.