• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

Top down, Bottom Up

22.03.08 19:43 작성 조회수 96

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를 거꾸로 돌고 안돌고의 차이가 어떤 영향을 미치는지 궁금해서 질문드립니다.

 

 

답변 0

답변을 작성해보세요.

답변을 기다리고 있는 질문이에요.
첫번째 답변을 남겨보세요!