2294번 - 동전 2
최소동전 갯수로 만드는 것이여서
원래는 부분 1을 if(j%coin[i]==0)dp[j]=j/coin[I]로 했었습니다. 근데 틀리더군요
그래서 현재 if(j%coin[i]==0)dp[j]=min(dp[j],j/coin[I]) 이렇게 바꿨는데 맞았습니다.
사실 저는 부분 2에서 그냥 나누는 것 보다 더 적은 동전을 사용하여 어떤 수를 만들 수 있는 것을 다 판별해준다는 생각이거든요.
(예를들어 동전이 3. 9가 있을 때 12 인경우에 3의동전을 4개 쓰는 것보다 9하나 3하나 쓰는데 동전을 덜 쓰는 것임으로 12의 값은 2개가 된다고 생각합니다. )
이걸 생각해서 포함시킨 부분이 2부분 입니다.)
그럼 제가 처음에 부분1을 했던것처럼 해도 상관없지않나요?
동전 순서가 오름차순으로 주어지는게 아니라서
이러한 반례가 있습니다.
3 10000 4999 5001 1
댓글을 작성하려면 로그인해야 합니다.
seachan94 5년 전
최소동전 갯수로 만드는 것이여서
원래는 부분 1을 if(j%coin[i]==0)dp[j]=j/coin[I]로 했었습니다. 근데 틀리더군요
그래서 현재 if(j%coin[i]==0)dp[j]=min(dp[j],j/coin[I]) 이렇게 바꿨는데 맞았습니다.
사실 저는 부분 2에서 그냥 나누는 것 보다 더 적은 동전을 사용하여 어떤 수를 만들 수 있는 것을 다 판별해준다는 생각이거든요.
(예를들어 동전이 3. 9가 있을 때 12 인경우에 3의동전을 4개 쓰는 것보다 9하나 3하나 쓰는데 동전을 덜 쓰는 것임으로 12의 값은 2개가 된다고 생각합니다. )
이걸 생각해서 포함시킨 부분이 2부분 입니다.)
그럼 제가 처음에 부분1을 했던것처럼 해도 상관없지않나요?