본문 바로가기
Coding Test/Programmers

[프로그래머스] 구명보트 [JAVA(자바)]

‘프로그래머스 코딩테스트 고득점 Kit’ 문제 입니다. 😀

문제 👉 <코딩테스트 연습 - 구명보트 | 프로그래머스>

1. 문제

구명보트에 1명 또는 최대 2명을 태워 무인도에서 구출한다.

2명의 무게가 구명보트의 무게 제한을 넘지 않을 때만 2명이 탄다.

구출에 필요한 최소의 구명보트를 return한다.

2. 풀이

Greedy 를 이용한 문제 풀이

  1. 사람들의 무게를 정렬한다.
  2. 가장 무거운 사람과 가장 가벼운 사람의 무게를 통해 2명이 탈 지 1명이 탈지 정한다.

3. 코드

import java.util.*;
class Solution {
    public int solution(int[] people, int limit) {
        int answer = 0;
        Arrays.sort(people);

        int i = 0;
        for (int j=people.length-1; i<=j; j--) {
            if (people[i] + people[j] <= limit) {
                i++;
            } 
            answer++;
        }

        return answer;
    }
}


References


🏋🏻 개인적으로 공부한 내용을 기록하고 있습니다.
잘못된 부분이 있다면 과감하게 지적해주세요!! 🏋

댓글