-
2579. 계단 오르기 (다시 보기)코테 준비/DP 2023. 1. 4. 02:28
indexerror을 못찾아서 한시간동안 헤맸다....
import sys n=int(sys.stdin.readline()) dp_in=[0]*(n+1) for i in range(n): k=int(sys.stdin.readline().rstrip()) dp_in[i]=k # dp_in =10 20 15 25 10 20 dp=[0]*(n+1) dp[0]=dp_in[0] dp[1]=dp_in[0]+dp_in[1] if n>=2: #n=1이면 indexerror 뜸 if문 설정 안해줘서 error 뜸 dp[2]=max(dp_in[0]+dp_in[2],dp_in[1]+dp_in[2]) # 초기화 dp=10, 30, 35, 0, 0, 0 for j in range(3,n): dp[j]=max(dp_in[j]+dp_in[j-1]+dp[j-3],dp_in[j]+dp[j-2]) print(dp[n-1]) # [10, 30, 35, 55, 0, 0] # [10, 30, 35, 55, 65, 0] # [10, 30, 35, 55, 65, 75] # [10, 30, 35, 55, 65, 75]
'코테 준비 > DP' 카테고리의 다른 글
9461. 파도반 수열 (0) 2023.01.06 11727. 2xn 타일링 2 (dp는 규칙을 찾자!) (2) 2023.01.05 9095. 1,2,3 더하기 (규칙찾기) (0) 2023.01.04 1463. 1로 만들기 (0) 2023.01.03 1003. 피보나치 (재귀함수와 dp 차이) (0) 2022.12.29