알고리즘 스터디

[프로그래머스] 탐욕법 4. 구명보트

문제


풀이

1. 오름차순 정렬한다.

2. 제일 가벼운 사람과 제일 무거운 사람의 무게를 더해 리밋과 비교한다.

3. 만약 리밋을 초과하면 제일 무거운 사람은 누구와도 동승할 수 없음을 의미하기 때문에 혼자 보낸다.

리밋을 초과하지 않으면 둘을 같이 태워 보낸다.

4. 남은 사람들로 위의 과정을 반복한다.

 

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

이번 주 문제는 둘 다 아주 쉽다 ㅎㅎ 담주부턴 어렵겠지,,