반응형
-풀이
n = int(input())
#알아보기 쉽게 0인덱스에 0추가
a = [0] + list(map(int, input().split()))
dp = [0]*(n+1)
for i in range(1, n+1):
for k in range(1, i+1):
dp[i] = max(dp[i], dp[i-k] + a[k])
print(dp[i])
-풀이 설명
[30분 no sol] 이번에도 실패. 문제를 해결할 돌아가는 방식은 이해가 가는데, 점화식을 대체 어떻게 세우는지 아무리 그리고 해봐도 아직도 잘 안되는 것 같다. DP문제만 21문제 풀었는데 2문제를 맞춘 것 같다.. 구글링으로 풀이를 봐도 저 풀이로 점화식을 생각해낸다는 게 잘 이해가 가지 않는다. 해결책은 뭘까??
풀이 출처 : https://infinitt.tistory.com/250
'알고리즘' 카테고리의 다른 글
[구현] 백준 11795 파이썬 (Donation Packaging) 브론즈3 (0) | 2021.11.17 |
---|---|
[구현] 백준 1392 파이썬 (노래악보) 브론즈2 (0) | 2021.11.17 |
[DP] 백준 2011 파이썬 (암호코드) 실버1 (0) | 2021.11.16 |
[DP] 백준 2225 파이썬 (합분해) 골드5 (0) | 2021.11.16 |
[구현] 백준 1100 파이썬 (하얀 칸) 브론즈2 (0) | 2021.11.16 |