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

지수·2021년 10월 7일
0
post-thumbnail

알고리즘 문제 풀이를 블로그에 올리는 이유는 풀이, 코드를 기록하기 위함이니
앞으로 문제를 다 긁어오기보다 링크만 두고 풀이가 잘 보이도록 포스팅 할 예정입니다!

📄 문제

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


👩‍💻 풀이

1. 문제 이해

이 문제는 사람들의 몸무게를 담은 배열 people과 구명보트의 무게 제한 limit가 매개변수로 받아
모든 사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 return 하는 문제이다.
조건 1) 구명보트는 무게 제한이 있다.
조건 2) 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없다.


2. 풀이

import java.util.Arrays;

public class Solution {

    public static void main(String[] args) {
        int[] people = {100,500,500,900,950}; //500,500/100,900/950
        int limit = 1000;

        System.out.println(solution(people,limit));
    }

    public static int solution(int[] people, int limit) {
        Arrays.sort(people);

        int answer = 0;
        int p1 = 0;

        for(int p2 = people.length-1; p2 >= p1; p2--) {
            if(people[p1] + people[p2] > limit) {
            }else {
                p1++;
            }
            answer++;
        }

        return answer;
    }
}
profile
사부작 사부작

0개의 댓글