• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    해결됨

f20 에서 f15 + 1은 이해가 됩니다...

23.08.19 23:52 작성 조회수 167

0

다만, f15 에서 f10 +1 +1 / f12 +1 +1 은 이해가 되지 않습니다.

15원을 만들기 위해서는 10원을 만든 동전 개수에서 5원짜리 동전+1 만 하는게 맞지 않나요?

마찬가지로 f12도 12원을 만들기 위해서는 12원을 만든 동전개수에 3원짜리 +1만 하면 되는줄 알았지만 왜 f10 +1+1 / f12+1+1 인지 이해가 되지않습니다...

답변 1

답변을 작성해보세요.

1

안녕하세요 푸푸님.

주어진 문제에 따르면 3원, 5원짜리 동전이 존재합니다.

따라서, 20원을 지불하기 위해서는 15원을 지불한 뒤 5원을 추가로 사용하거나, 17원을 지불한 뒤 3원을 추가 지불하는 방법이 있습니다.

fn을 n원을 지불하기 위해 사용한 동전의 총 수라고 할 때, 위 내용을 수식으로 나타내면 아래와 같습니다.

f20 = min(f15+1, f17+1) ......(1)

 

여기서, f15와 f17은 base case가 아니기 때문에, 같은 방식으로 표현이 가능합니다.

f15 = min(f10+1, f12+1) ......(2)
f17 = min(f12+1, f14+1) ......(3)

 

여기서, 2를 1에 대입하면 아래와 같은 식이 나옵니다.

f20 = min( min(f10+1, f12+1)+1, f17+1)

 

말씀해주신 수식

f10+1+1, f12+1+1은 위와 같은 계산 과정에서 유도된 것으로 생각됩니다.

 

푸푸님이 만족하시는 답변이 되었기를 바라며, 답변 해결로 상태 변경을 부탁드립니다.

이후에도 문제를 풀거나 공부하시면서 어려운 점이 있다면 질문 올려주세요.

감사합니다.