Notice
Recent Posts
Recent Comments
Tags
- 백준 다이나믹프로그래밍
- Spring 초보
- 코테 연습
- 프로그래머스 레벨2
- 프로그래머스 레벨1
- 백준
- spring 기초
- 알고리즘 문제
- Django 기초
- 프로그래머스 전화번호 목록 python
- Django
- 프로그래머스 level1
- 프로그래머스 고득점 kit
- 바닥장식 파이썬
- 코딩테스트
- 장고
- 코테
- 백준 dp
- programmers
- 스프링 기초
- 코딩테스트 연습
- 스프링 초보
- 전화번호 목록 python
- dp 알고리즘
- 프로그래머스 전화번호 목록 파이썬
- 장고 기초
- 백준 바닥장식 python
- 프로그래머스
- 프로그래머스 알고리즘 고득점 kit
- 알고리즘 공부
Archives
- Today
- Total
일일구름 IT
[백준 2293] 코인1 (Python) 본문
문제
코드
n, k = map(int, input().split())
coin = []
for i in range(n):
coin.append(int(input()))
sum = [0 for i in range(k+1)]
sum[0] = 1
for i in coin:
for j in range(i, k+1):
sum[j] += sum[j-i]
print(sum[k])
예제의 경우로 설명해보면, 동전 1만 선택했을 경우, 동전 1, 2원 중에서 선택한 경우, 동전 1, 2, 5원 중에서 선택한 경우를 차례로 구한다.
sum[0]에 1을 넣어준 이유는 j원이 되는데 i원 1개만 선택해도 되는 경우를 고려한것입니다. (j == i인 경우)
sum[j] += sum[j-i] 코드는 동전 i원을 뺀 값이 되는 경우에 i원 동전을 고르는 경우를 더하는것입니다.
너무 어렵다... 생각해 내질 못하겠어서 결국 구글링을했다 ㅜㅜㅜ
https://www.acmicpc.net/problem/2293
'백준 > 다이나믹 프로그래밍' 카테고리의 다른 글
[백준 2294] 동전2 (Python) (0) | 2023.05.08 |
---|---|
[백준 1932] 정수 삼각형 (Python) (0) | 2023.03.23 |
[백준 1912] 연속합 (Python) (0) | 2023.03.23 |