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

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

코드

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

가장 무거운 사람이 보트에 타고

남은 무게를 작은 사람들이 채워나가는 식으로 문제를 풀었다.

딱 무게를 맞추는 것도 괜찮을 수 있지만

무거운 사람 순으로 가장 많이 태우는 것도

가장 효율적인 방법이기 때문이다.

Discussion and feedback