알고리즘/프로그래머스문제풀이

[Python/프로그래머스]구명보트_Greedy(그리디)

개발자 덕구🐾 2022. 6. 19. 13:03
728x90

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

 

코딩테스트 연습 - 구명보트

무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5

programmers.co.kr

 

 

 


 

 

인덱스를 이용해서 풀이한다. 

직접 pop해서 풀면 효율성에서 실패한다고 한다. 

 

 

 

 

 

코드 : 

def solution(people, limit):
    answer = 0
    people.sort()
    i ,j = 0, len(people)-1 
    # i : 가장 마른 사람,  j : 가장 뚱뚱한 사람 
    while i<=j :
        answer+=1  # 배는 하나 무조건 간다
        if people[j]+people[i] <= limit :
            i+=1  # 마른 사람도 간다
        j-=1 # 뚱뚱한 사람 무조건 탄다
    return answer

 

 

 

 

참고 블로그 : 

https://leedakyeong.tistory.com/entry/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EA%B5%AC%EB%AA%85%EB%B3%B4%ED%8A%B8-in-python

 

[프로그래머스] 구명보트 in python

파이썬으로 프로그래머스 풀기 :: 구명보트 문제 설명 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도

leedakyeong.tistory.com

 

 

복습 : 

20220622

✅ 20220624

✅ 20220626

✅ 20220630

반응형