프로그래머스) 구명보트

유병수·2023년 4월 13일
0

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로 문제를 풀었다.

다른 사람의 풀이를 보면 투포인터를 사용해서 푼 경우도 있었다.

0개의 댓글