코딩테스트/프로그래머스

[프로그래머스] [Level 1] 예산

박소민 2022. 2. 21. 20:40
문제) 예산
 

코딩테스트 연습 - 예산

S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는

programmers.co.kr

 

  • 내 풀이

- 부서 d에서 최솟 값부터 budget에서 감소해 나감

def solution(d, budget):
    result=0
    while d:
        m=min(d)
        if budget<m:
            break
        d.remove(m)
        budget-=m
        result+=1
        
    return result

 

  • 다른 사람 풀이

- 정렬 후 for문으로 작은 값부터 불러오면서 buget에서 감소

- 리스트에서 값을 삭제할 필요 없음

def solution(d,budget):
    d.sort()
    answer=0
    for i in d:
        budget-=i
        if budget<0:
            break
        answer+=1

    return answer
    
print(solution([1,2,5,3,4],9))
#결과
3