[알고리즘 문제풀이] 평범한 배낭

황인권·2023년 4월 2일
0

알고리즘 문제풀이

목록 보기
32/81

문제 제목 : 평범한 배낭

문제 난이도 : 하

문제 유형 : 동적 프로그래밍, 다이나믹 프로그래밍

https://www.acmicpc.net/problem/12865
시간 제한 : 2초
메모리 제한 : 512MB

문제풀이 아이디어

< 소스코드 >

n, k = map(int, input().split())
dp = [[0] * (k + 1) for _ in range(n + 1)]

for i in range(1, n + 1):
    weight, value = map(int, input().split())
    for j in range(1, k + 1):
        if j < weight:  
            dp[i][j] = dp[i - 1][j]
        else:
            dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - weight] + value)

print(dp[n][k])
profile
inkwon Hwang

0개의 댓글