[Programmers] 구명보트

태환·2024년 3월 15일
0

Coding Test

목록 보기
114/151

📌 [Programmers] 구명보트

📖 문제

📖 예제

📖 풀이

def solution(people, limit):
    answer = 0
    people.sort()
    start = 0
    end = len(people) - 1
    while start <= end:
        if people[start] + people[end] <= limit:
            start += 1
            end -= 1
        else:
            end -= 1
        answer += 1
    return answer

구명보트의 개수를 최소화하기 위해서는 가장 무거운 사람과 가장 가벼운 사람을 함께 태워야 한다.
poeple을 오름차순으로 정렬한 후 가장 무거운 사람과 가장 가벼운 사람의 무게를 더해 limit보다 작거나 같을 경우 둘 모두를 태워 보낸다.
만약 두 사람 무게의 합이 limit보다 클 경우 무거운 사람만 태워 보낸다.

profile
연세대학교 컴퓨터과학과 석사 과정

0개의 댓글