99클럽 코테 스터디 11일차 TIL [프로그래머스] 구명보트 (Java)

민경·2024년 6월 5일

문제

[프로그래머스] 구명보트

풀이

그리디를 활용해 푸는 문제

  • 한 번에 2명을 모두 태우는 것이 가장 효율적이다.
  • 가장 무거운 사람과 가장 가벼운 사람으로 조합하는 것이 좋다.
  • 무게 제한을 넘는다면, 가장 무거운 사람만 태우도록 한다.

정답 코드

import java.util.*;

class Solution {
    public int solution(int[] people, int limit) {
        int answer = 0;
        int min = 0;
        Arrays.sort(people);
        
        for(int max = people.length-1; max >= min; max--) {
            if(people[max] + people[min] <= limit) {
                min++;
                answer++;
            } else {
                answer++;
            }
        }
        
        return answer;
    }
}
profile
강해져야지

0개의 댓글