728x90
< 기존 풀이 >
동적 풀이법에 대한 개념이 없어 전혀 이해하지 못했다.
< 해결 방법 >
얼추 비슷하게는 작성 하였으나 dp[i] 를 구하는 과정에서 실수가 있었다. 해결을 하기는 했지만 주의해야 할 것 같다.
import sys
a = int(input())
k = [ ]
dp = [0]*a
for i in range(0,a):
k.append(int(sys.stdin.readline()))
if len(k)==1:
print(k[0])
elif len(k)==2:
print(sum(k))
else:
dp[0]=k[0]
dp[1]=k[0]+k[1]
dp[2]=max(k[1]+k[2],k[0]+k[2])
for i in range(3,len(dp)):
dp[i]=max(dp[i-3]+k[i-1]+k[i],dp[i-2]+k[i])
print(dp[-1])
728x90
'🟢 알고리즘 문제 풀이 > Baekjoon' 카테고리의 다른 글
| [파이썬] 백준 1149 RGB거리 (0) | 2022.08.20 |
|---|---|
| [파이썬] 백준 11053 가장 긴 증가하는 부분 수열 (0) | 2022.08.20 |
| [파이썬] 백준 9184 신나는 함수 실행 (0) | 2022.08.18 |
| [파이썬] 백준 2156 포도주 시식 (0) | 2022.08.17 |
| [파이썬] 백준 1463 1로 만들기 (0) | 2022.08.17 |