알고리즘 - 구명조끼

Coaspe·2021년 4월 2일
0

algorithm

목록 보기
2/10
def solution(people, limit):
    answer = 0
    people.sort(reverse=True)

    while(people):
        now = people.pop()

        if(len(people) == 0):
            answer += 1
            return answer

        for i in range(len(people)):
            if((people[i] + now) <= limit):
                answer += 1
                del people[i]
                break;
            else:
                if(i == len(people) - 1):
                    answer += len(people) + 1
                    return answer
                continue;
    return answer

->

def solution(people, limit):
    answer = 0
    people.sort()

    f_count =0
    e_count = len(people)-1
    
    while e_count - f_count >= 1:
        if people[f_count] + people[e_count] <= limit:
            f_count += 1
            e_count -= 1
        else:
            e_count -= 1
        answer += 1
    if e_count == f_count:
        answer += 1
    return answer
profile
https://github.com/Coaspe

0개의 댓글