🌞Algorithm/🔥programmers

[programmers] 구명보트

뿌야._. 2026. 8. 20. 10:46
문제
https://school.programmers.co.kr/learn/courses/30/lessons/42885
 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 


< 구명보트 >

 

문제 풀이 (Java)

import java.util.*;

class Solution {
	public int solution(int[] people, int limit) {
		int answer = 0;

		Arrays.sort(people);

		int start = 0, end = people.length - 1;
		while (start < end) {
			if (people[start] + people[end] <= limit) {
				answer += 1;
				start += 1;
				end -= 1;
			} else {
				end -= 1;
				answer += 1;
			}
		}
		if (start == end) {
			answer += 1;
		}

		return answer;
	}
}

 

 

먼저 사람들의 몸무게를 오름차순으로 정렬한다. 앞과 뒤를 같이 살펴보며 무게의 합이 무게 제한 이하인지 확인한다. 무게 제한 이하라면 2명을 태우고, 무게 제한보다 크다면 무거운 사람 한 명만 태운다. 

 

최종 answer을 반환한다. 

 

 



 

출처: 프로그래머스 코딩 테스트 연습, 
https://school.programmers.co.kr/learn/challenges

'🌞Algorithm > 🔥programmers' 카테고리의 다른 글

[programmers] 체육복  (0) 2026.08.19
[programmers] 모의고사  (0) 2026.08.18
[programmers] 더 맵게  (0) 2026.08.14
[programmers] 주식가격  (0) 2026.08.13
[programmers] 올바른 괄호  (0) 2026.08.12