강의

멘토링

커뮤니티

Inflearn Community Q&A

devkkim0989's profile image
devkkim0989

asked

Introduction to Python Algorithm Problem Solving (Coding Test Preparation)

9. Bag problem (Knapsack algorithm)

Top down, Bottom Up

Written on

·

155

0

안녕하세요 강사님 강의 정말 잘 듣고 있습니다.

해당 문제에서 궁금한 점이 있어 질문드립니다.

보석의 개수가 무제한이라는 조건에서 다음과 같이 푸셨는데

for i in range(n):
    for j in range(w[i],k+1):
        dp2[j] = max(dp2[j-w[i]] + v[i], dp2[j])

 

문제의 조건에서 보석이 무제한이라는 조건이 없고 하나씩만 써야 한다면 다음과 같이 풀어야 답이 나오더라구요

for i in range(n):
    for j in range(k, w[i]-1, -1):
        dp1[j] = max(dp1[j-w[i]] + v[i], dp1[j])

이때, j를 거꾸로 돌고 안돌고의 차이가 어떤 영향을 미치는지 궁금해서 질문드립니다.

 

 

python코테 준비 같이 해요!

Answer

This question is waiting for answers
Be the first to answer!
devkkim0989's profile image
devkkim0989

asked

Ask a question