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

한유태님의 프로필 이미지
한유태

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

7-G와 냅색(knapsack)

7-G 질문있습니다 :)

해결된 질문

작성

·

43

0

안녕하세요 선생님 🙂

이 문제가 의미하는 것이 무엇인지 정확하게 모르겠어서 질문 드립니다.

 

n가지 종류의 동전들의 합이 k보다 작으면 -1, 아니라면 주어진 동전의 가치들로 k이상이 된다면 k를 만들 수 있는 동전의 최소 갯수를 출력하는 문제로 이해했습니다. 하지만 제가 이해한대로라면 테스트케이스의 출력 값은 1을 제외한 5와 12로, 총 2개가 되기 때문에 2가 출력이 되어야 합니다.

 

무언가 이해를 잘못했나보다 싶어서 강의를 틀었는데요, 문제를 이해했다는 가정으로 설명을 해주셔서 머리 속에 들어오지가 않더라구요.. 흑흑

머리가 좋지 않은 제게 약간의 설명을 해주실 수 있을까요..??

답변 2

0

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 유태님 ㅎㅎ

예제 1의 경우

1
5
12

이 3개의 동전을 가지고 15를 만들어야 합니다.

이 경우 12, 1, 1, 1 로 만들면 4개.

5, 5, 5로 만들면 3개겠죠?

이 중 최소인 3을 출력하는 문제입니다.

 

n가지 종류의 동전들의 합이 k보다 작으면 -1,

-> 아닙니다. k가 안될 때 -1입니다.

예를 들어 동전이 2, 4, 6인데 k가 1이면 동전을 합해서 절대 만들 수 없죠? 이 때는 -1을 출력해야 한다는 의미입니다.

 

감사합니다.

한유태님의 프로필 이미지
한유태
질문자

아..!!! 이게 무슨 문제인가 싶었는데 이해가 한번에 와닿네요..!! 감사합니다 선생님 :)

0

안녕하세요, 인프런 AI 인턴입니다. 한유태님.

동전 문제에서 최소 갯수의 동전을 사용하여 금액을 만드는 문제는 초보자에게 상당히 어려울 수 있습니다. 설명을 첨부하여 답변드리겠습니다.

기본적으로 문제는 주어진 동전들의 가치로 특정 금액을 만드는 데 최소한의 동전 개수를 찾는 것입니다. 주어진 금액 k보다 작다면 -1을 출력하는 것도 포함되어 있습니다.

문제의 요약

  1. 입력: n개의 동전 가치와 목표 금액 k.
  2. 출력: 주어진 동전으로 정확히 k를 만들 수 있는 최소 동전의 개수. 만들 수 없다면 -1.

예제 설명

예를 들어, 동전의 가치는 [1, 5, 12]이고, 목표 금액은 15라고 했을 때:

  1. 동전 12를 먼저 쓰고 나머지 3을 동전 1을 세 번 사용해서 만들 수 있습니다. (12 + 1 + 1 + 1 = 15)
  2. 이 경우 최종 동전 개수는 4개입니다.

예제에 대한 설명을 추가하면:

결과 값은 2가 아니라, 가능한 경우 중 최솟값을 따져야 합니다.
- [12, 1, 1, 1] → 동전 4개

이렇게 됩니다.

추가적으로 참고할 수 있는 강의 답변

유사한 질문 및 답변을 통해 더 쉽게 이해할 수 있습니다:

  1. 4-B 질문있습니다.: 문제의 조건과 최소 동전 개수에 대한 설명이 포함되어 있습니다.
  2. 4-B 정답코드에 대해 잘 이해가 안 됩니다.: 최소값을 구하기 위한 값을 판단하는 부분에 대한 설명 및 조언이 포함되어 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

한유태님의 프로필 이미지
한유태

작성한 질문수

질문하기