pkuImoogis / study-codingTest

0 stars 0 forks source link

구명보트 #372

Open geonnho0 opened 8 months ago

geonnho0 commented 8 months ago

문제 링크

geonnho0 commented 8 months ago

사람의 몸무게를 정렬한 뒤, 양끝에서 두명의 무게가 임계치보다 낮으면, 두명을 보트에 태울 수 있어요. 이 경우, 제일 왼쪽의 인덱스 값을 1 증가시켜요.

만약 임계치보다 높으면, 한명을 보트에 태울 수 있어요. 이 경우, 제일 왼쪽의 인덱스 값은 바뀌지 않아요. 즉, 제일 오른쪽의 사람만 보트에 태워요.

코드

class Solution {
    public int solution(int[] people, int limit) {
        Arrays.sort(people);
        int answer = 0;
        int index = 0;
        for (int i = people.length - 1; i >= index; i--) {
            if (people[i] + people[index] <= limit)
                index++;
            answer++;
        }
        return answer;
    }
}