from collections import deque
def solution(people, limit):
#최대 2명
#최대한 적게 사용하여.
data = people
n = len(data)
data.sort()
cnt = 0
dq = deque(data)
while True:
if len(dq) == 0:
break
elif len(dq) == 1:
cnt += 1
dq.popleft()
elif dq[0] + dq[-1] <= limit:
cnt += 1
dq.popleft()
dq.pop()
else:
cnt += 1
dq.pop()
print(cnt)
return cnt
해당 문제는 보트를 가장 적게 타야 하는게 그 핵심이 항상 몸무게가 가장 큰 사람과 가장 작은 사람이 같이 타야한다는 것이다. 묶어서 처리한다는 생각을 했으면 해당 문제 아이디어를 모두 처리한 것과 같다.
즉 그리디