인프런 커뮤니티 질문&답변

sang ji Choi님의 프로필 이미지
sang ji Choi

작성한 질문수

IT 기업 취업을 위한: 코딩테스트 혼자서 정복하기 (C/C++)

동전문제 풀이

이해가 안되는 부분이 있습니다.

작성

·

167

0

안녕하세요 선생님 질문이 하나 있습니다.

 

dp(6-5) = dp(1)이고 dp(6-3)은 dp(3)을 나타내고
이제 6번째 배열에서 Min(dp(1)+1, dp(3)+1)에서 최소값은 왼쪽 dp(1)+1이 아닌가요? 왜 dp(3)+1로 된건지 이해가 안갑니다. 대괄호가 기입이 안돼 소괄호로 대체합니다.

답변 1

0

조이스터디님의 프로필 이미지
조이스터디
지식공유자

안녕하세요 sang ji Choi님.

말씀해 주신대로,

dp[6-5] == dp[1]
dp[6-3] == dp[3] 입니다.

하지만 배열에서 볼 수 있듯이, dp[1] == X로,
1원을 지불할 수 있는 방법이 없는 상황입니다.

이 경우 지불할 수 있는 방법이 있는 경우(ex. 위 그림 기준 dp[0], dp[3], dp[5])에 의해 무시됩니다.

따라서, min(dp[1], dp[3])은 dp[1]입니다.

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

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

감사합니다.

sang ji Choi님의 프로필 이미지
sang ji Choi

작성한 질문수

질문하기