구명보트
210723
'''
https://programmers.co.kr/learn/courses/30/lessons/42885#
구명보트
[풀이]
1. case가 50000 이라 반복문 중첩은 어지간 하면 시간초과.
=> 따라서 반복문 내에 remove, del, pop은 거의 사용 불가
2. indexing 비교만으로 count
=> 핵심은 가장 무게가 많은 사람을 가장 무게가 적은 사람이 커버하지 못하면 어떤 사람도 커버하지 못한다는 것.
=> 따라서 가장 무게가 많은 사람 + 가장 무게가 적은 사람이 limit을 초과하면 무게가 많은 사람만 보트에 태운다.
'''
def solution(people, limit):
people.sort(reverse=True)
cnt = 0
i, j = 0, len(people)-1
while i <= j:
if people[i] + people[j] <= limit:
j -= 1
i += 1
cnt += 1
return cnt
'''
'''
Last updated
Was this helpful?