[Python] Programmers. 구명보트

영어 끝말잇기

문제 링크

풀이 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 구명보트


def solution(people, limit):
    answer = 0
    people.sort()
    # i는 앞에서부터, j는 뒤에서부터
    i = 0
    j = len(people)-1
    while i <= j:
        answer += 1
        # 이 조합으로 태울 수 있으면 태우고 다음 조합
        if people[i]+people[j] <= limit:
            i += 1
            j -= 1
        # 태울 수 없으면 무거운 사람의 무게를 줄임
        else:
            j -= 1

    return answer

비고