본문 바로가기
Programming/Programmers

[프로그래머스] 거스름돈 (Python)

by 데이터현 2021. 11. 13.

https://programmers.co.kr/learn/courses/30/lessons/12907

 

코딩테스트 연습 - 거스름돈

Finn은 편의점에서 야간 아르바이트를 하고 있습니다. 야간에 손님이 너무 없어 심심한 Finn은 손님들께 거스름돈을 n 원을 줄 때 방법의 경우의 수를 구하기로 하였습니다. 예를 들어서 손님께 5

programmers.co.kr

완전 탐색으로 할 때 너무 오랜 시간이 걸려서 dp인 것은 알았으나 알고리즘을 생각을 못했다.

 

def solution(n, money):
    dp = [1] + [0]*n
    for coin in money:
        for i in range(1,n+1):
            if coin <= i:
                dp[i] = dp[i] + dp[i-coin]
    return dp[n]

댓글