새소식

Career/Coding Test

99클럽 코테 스터디 19/99일차 TIL #구명보트(미들러)

  • -
반응형

'''
최대 2명, 무게제한 없음

ex)  [70kg, 50kg, 80kg, 50kg], 
무게제한 100kg => 50 + 50
구명보트를 최대한 적게 사용하여 모든 사람을 구출

[70, 50, 80, 50] 100
제일 작은수 기준으로 합이 limit 이하인 경우


'''

from collections import Counter
def solution(people, limit):
    
    # counter = Counter(people)
    sorted_people = sorted(people)
    # print(sorted_people)
    
    sum = 0
    cnt = 0
    answer = 0
    
    # 	[50, 50, 70, 80]
    for person in sorted_people:
        
        if sum + person <= limit:
            sum += person
            # cnt += 1
        elif sum + person > limit and sum <= limit:
            answer += 1
            cnt = 1
            sum = person
        else:
            answer += 1
            
    if sum:
        answer += 1
    
    return answer
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.