https://school.programmers.co.kr/learn/courses/30/lessons/42885#
이미 문제 풀기전에 분류가 그리드로 되어있어서 힌트를 받고 시작했다.
문제에 보트에 탈 수있는 명수가 정해져있는데 처음에 명수를 보지못해서 한동안 애를 먹었다.
import collections
def solution(people, limit):
answer = 0
people.sort()
people = collections.deque(people)
print(people)
while people:
pop = people.pop()
total = pop
answer += 1
if people and total + people[0] <= limit:
people.popleft()
return answer
2명만 탈 수있으니까 sort로 정렬 해준다음 무게가 가장 큰 사람과 가장 작은 사람이 탈 수 있는 경우가 제일 작은 경우라고 생각해서 deque를 사용해서 pop과 popleft로 문제를 풀었다.
다른 사람의 풀이를 보면 투포인터를 사용해서 푼 경우도 있었다.