알고리즘

[Python] 프로그래머스 - 구명보트

BKM 2024. 5. 16. 17:33

https://school.programmers.co.kr/learn/courses/30/lessons/42885

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

풀이 

2명까지 밖에 못태운다는 점을 고려했을때, 가장 가벼운 사람과 무거운 사람 중 가능한 조합을 찾는 것이 중요했다.

 

def solution(people, limit):
    people.sort()
    answer = 0
    light_idx, heavy_idx = 0,len(people)-1
    while light_idx<heavy_idx:
        if people[light_idx]+people[heavy_idx]<=limit:
            light_idx+=1
            answer+=1
        heavy_idx-=1
        
    return len(people)-answer # 전체 - 짝지어진 경우 + 혼자 타는 경우