백준 2293(파이썬) - 동전1
resilient
·2021. 5. 3. 00:16
728x90
반응형
2293번: 동전 1
첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다.
www.acmicpc.net
DP가 진짜 생각하기가 어려운거같다...
그림을 그려서 생각하다가 시간이 굉장히 오래걸렸다.
일단 테스트 케이스는 맞는데 계속 인덱스 에러가 나서 코드를 수정하다가 참고한 유튜브 영상이 있다.
DP는 많이 풀어봐야 할 거 같다.
import sys
from itertools import combinations
input = sys.stdin.readline
#dp 보텀업방식 사용
n,k = map(int,input().split())
numbers = []
dp = [0 for _ in range(k+1)] #dp만들어주기
for _ in range(n):
numbers.append(int(input()))
dp[0] = 1 #처음에 1로 채워주고
for i in numbers:
for j in range(i,k+1):
dp[j] += dp[j-i]
print(dp[k])
반응형
'자료구조 & 알고리즘 > 백준(Baekjoon)' 카테고리의 다른 글
백준15686(파이썬) - 치킨 배달 (0) | 2021.05.04 |
---|---|
백준2294(파이썬) - 동전2 (0) | 2021.05.04 |
백준14888(파이썬) - 연산자 끼워넣기 (0) | 2021.05.02 |
백준1927(파이썬) - 최소 힙 (0) | 2021.05.01 |
백준1003(파이썬) - 피보나치 함수 (0) | 2021.05.01 |