사용자 도구

사이트 도구


ps:problems:boj:2293

동전 1

ps
링크acmicpc.net/…
출처BOJ
문제 번호2293
문제명동전 1
레벨골드 5
분류

DP

시간복잡도O(nk)
인풋사이즈n<=100, k<=10000
사용한 언어Python 3.11
제출기록31256KB / 112ms
최고기록96ms
해결날짜2023/09/13

풀이

  • Coin Change Problem의 표준적인 문제. 풀이는 그쪽 참고. DP를 이용해서 O(nk)에 풀수 있다.

코드

"""Solution code for "BOJ 2293. 동전 1".

- Problem link: https://www.acmicpc.net/problem/2293
- Solution link: http://www.teferi.net/ps/problems/boj/2293

Tags: [knapsack]
"""


def main():
    n, k = [int(x) for x in input().split()]
    coins = [int(input()) for _ in range(n)]

    dp = [0] * (k + 1)
    dp[0] = 1
    for coin in coins:
        for i, dp_prev in zip(range(coin, k + 1), dp):
            dp[i] += dp_prev

    print(dp[k])


if __name__ == '__main__':
    main()

토론

댓글을 입력하세요:
B U V I U
 
ps/problems/boj/2293.txt · 마지막으로 수정됨: 2023/09/13 09:04 저자 teferi