[프로그래머스] Lv1 - 예산

김멉덥·2023년 7월 22일
0

알고리즘 공부

목록 보기
65/171
post-thumbnail
post-custom-banner

문제

프로그래머스 Summer/Winter Coding(~2018)


코드 구현

def solution(d, budget):
    answer = 0

    d.sort()    # 최대로 많은 부서의 물품을 구매해야하므로 값이 적은거부터 우선적으로 지원한다면, 더 많이 지원 가능

    for i in range(len(d)):
        budget -= d[i]      # 예산에서 값을 하나씩 빼는데
        if(budget < 0):     # 음수가 나온다면 -> 더 이상 구매 불가
            break
        answer += 1         # 음수가 아니라면 -> 구매 가능하므로 answer += 1

    return answer

풀이

  • 최대로 많은 부서의 물품을 구매해야하므로 값이 적은거부터 우선적으로 지원한다면, 더 많이 지원 가능하므로 sort() 먼저 해준다.
  • 예산에서 금액 값을 하나씩 빼주면서 진행 → 근데 만약 예산 값이 음수가 된다면 → 더이상 구매해줄 수 없는 수량break, return하기
  • 음수가 아니라면 → 구매 가능하므로 answer += 1

profile
데굴데굴 뚝딱뚝딱 개발기록
post-custom-banner

0개의 댓글