그리디 알고리즘

박진은·2023년 3월 7일
0

코테

목록 보기
7/44
def solution(d, budget):
    answer = 0
    answer_list = []
    answer_index = []
    
    if budget >= sum(d):
        return len(d)
    else:
        d.sort()#예산 요구를 정렬함
        i = 0
        while(budget >= 0):
            budget -= d[i]
            answer_list.append(d[i])
            i+=1
        return len(answer_list)-1

우선 정답 코드는 위와 같다.
문제는 주어진 예산으로 최대한 많은 부서에 예산을 공급하는 것이다 파라미터는 부서의 예산, 그리고 예산 순서이다. 필자는 처음에 반드시 예산을 다써야 하는줄 알았다 근데 그게 아니여서 쉽게 그리디 알고리즘으로 부서에서 요구하는 예산을 정렬하고 작은것부터 나눠주는 방식으로 쉽게 풀었다.

profile
코딩

0개의 댓글