본문 바로가기
코딩테스트/프로그래머스

[탐욕법(Greedy)] 구명보트 - JAVA

by 의정부핵꿀밤 2022. 6. 17.
728x90

https://programmers.co.kr/learn/courses/30/lessons/42885?language=java 

 

코딩테스트 연습 - 구명보트

무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5

programmers.co.kr


처음엔 그냥 앞에서부터 냅다 보내? 했는데 아니더라구...

우선 배열을 정렬해준다

그 다음에 최댓값과 최솟값이 limit보다 작으면 같이 태워보내주면 된다

 

 

 

자바 코드)

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

댓글