πŸ—οΈ Algorithm/🟩 λ°±μ€€

🟩 [λ°±μ€€] [Python] [Silver2] 1535번_μ•ˆλ…•

Dbswnstjd 2023. 5. 5. 11:55

문제

https://www.acmicpc.net/problem/1535

 

1535번: μ•ˆλ…•

첫째 쀄에 μ‚¬λžŒμ˜ 수 N(≤ 20)이 λ“€μ–΄μ˜¨λ‹€. λ‘˜μ§Έ μ€„μ—λŠ” 각각의 μ‚¬λžŒμ—κ²Œ 인사λ₯Ό ν•  λ•Œ, μžƒλŠ” 체λ ₯이 1번 μ‚¬λžŒλΆ€ν„° μˆœμ„œλŒ€λ‘œ λ“€μ–΄μ˜€κ³ , μ…‹μ§Έ μ€„μ—λŠ” 각각의 μ‚¬λžŒμ—κ²Œ 인사λ₯Ό ν•  λ•Œ, μ–»λŠ” 기쁨이 1번

www.acmicpc.net

풀이

# λ°±μ€€ 1535번 문제 - μ•ˆλ…•
import sys
input = sys.stdin.readline

n = int(input())
stamina_consum = [0] + list(map(int, input().split()))
get_pleasure = [0] + list(map(int, input().split()))

dp = [[0] * 101 for _ in range(n + 1)]

for i in range(1, n + 1):
    for j in range(1, 101):
        if stamina_consum[i] <= j:
            dp[i][j] = max(dp[i-1][j], dp[i-1][j - stamina_consum[i]] + get_pleasure[i])
        else:
            dp[i][j] = dp[i-1][j]

print(dp[n][99])

DP / 완전탐색 / λ°°λ‚­ λ¬Έμ œμ΄λ‹€.