공부, 기록

[프로그래머스] LEVEL 3. 거스름돈 파이썬 본문

코딩

[프로그래머스] LEVEL 3. 거스름돈 파이썬

무는빼주세요 2020. 11. 14. 13:44

문제 링크: programmers.co.kr/learn/courses/30/lessons/12

 

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

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

programmers.co.kr

 

def solution(n, money):
    dp = [[0 for _ in range(n+1)] for _ in range(len(money))]
    dp[0][0] = 1
    for i in range(money[0], n+1, money[0]):
        dp[0][i] = 1
    for i in range(1, len(money)):
        for j in range(n+1):
            if j>=money[i]:
                dp[i][j] = (dp[i-1][j]+dp[i][j-money[i]]) % 1000000007
            else:
                dp[i][j] = dp[i-1][j]
    return dp[-1][-1]