dp문제
시간 초과 계속 나와서 당황스러웠다...
함수로 묶어주니깐 시간 초과 안나왔음!
def sol():
N,K=map(int,input().split())
dp=[[0]*(K+1) for _ in range(N+1)]
w=[0]
v=[0]
for n in range(1,N+1):
a,b=map(int,input().split())
w.append(a)
v.append(b)
for i in range(1,N+1):
for j in range(1,K+1):
dp[i][j] = dp[i-1][j];
if j-w[i]>=0:
dp[i][j]=max(dp[i-1][j],dp[i-1][j-w[i]]+v[i])
print(dp[N][K])
sol()
코드 훈수 환영합니다!!
'Algorithm > 백준' 카테고리의 다른 글
백준 14940번 [파이썬] (0) | 2022.09.25 |
---|