문제
- 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고 무게 제한도 있다. 모든 사람을 구하기 위해 필요한 구명보트의 최소 개수는?
- 1 <= 무인도 갇힌 사람 <= 50,000
- 40 <= 각 사람 몸무게 / 무게 제한 <= 240
풀이
- 각 사람의 몸무게를 정렬한 뒤 가장 가벼운 사람과 무거운 사람을 같이 태울 수 있는지 확인한다.
def solution(people, limit):
answer = 0
people.sort()
s, e = 0, len(people)-1
while s <= e :
if people[s] + people[e] <= limit :
s += 1
e -= 1
answer += 1
return answer
References