qkrgusxkr   6년 전

동전 1 문제 접근을,

d[i] = d[i-arr[0] + ... d[i-arr[n]으로 생각해서


for(int i=1;i<=Num;i++){

     for(int j=1;j<=n;j++){

           if(i>=arr[j])  d[i]+=d[i-arr[j];

     }    }

이렇게 풀었는데요. 중복이 있어서 답보다 크게 나오네요..

중복을 제거하는 경우의 수를 생각해봤는데, 쉽지 않아서요. 어떻게 중복을 제거하며 더할 수 있을까요??

댓글을 작성하려면 로그인해야 합니다.