인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

sang ji Choi님의 프로필 이미지

작성한 질문수

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

동전문제 풀이

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

작성

·

253

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님이 만족하시는 답변이 되었기를 바라며, 답변 해결로 상태 변경을 부탁드립니다.

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

감사합니다.