문제
원문 보기 (영어)주어진 각 동전 단위를 원하는 만큼 사용하여 정확히 해당 금액을 만드세요. 조합의 순서는 고려하지 않습니다: 각 동전의 개수가 같으면 두 배치는 같은 방법으로 간주합니다. 동전 단위는 모두 서로 다르고 양수입니다.
coin_sums(amount, coins)를 구현하세요.
입력
amount: 만들어야 하는 총 금액입니다.
coins: 사용할 수 있는 서로 다른 동전 단위들의 리스트입니다.
출력
순서에 상관없는 조합의 개수를 반환하세요.
제약 조건
0 ≤ amount ≤ 200. 서로 다른 동전 단위는 0개에서 10개까지 주어지며, 각 단위는 1 이상 200 이하입니다. 모든 경우의 수는 signed 64비트 정수 범위 내에 있습니다. amount가 0일 때는 동전을 하나도 선택하지 않는 1가지 방법이 있습니다.
예시
예시 1
입력:
coins = [1, 2]
amount = 4
예상 출력:
expected = 3
입력:
std::vector<long long> coins = {1, 2};
long long amount = 4;
예상 출력:
long long expected = 3;
입력:
long[] coins = new long[] {1, 2};
long amount = 4;
예상 출력:
long expected = 3;
설명
가능한 조합은 1짜리 4개, 1짜리 2개와 2짜리 1개, 그리고 2짜리 2개입니다.
예시 2
입력:
coins = [2]
amount = 3
예상 출력:
expected = 0
입력:
std::vector<long long> coins = {2};
long long amount = 3;
예상 출력:
long long expected = 0;
입력:
long[] coins = new long[] {2};
long amount = 3;
예상 출력:
long expected = 0;
설명
2단위 동전만으로 만들 수 있는 합은 모두 짝수이므로 3을 만드는 것은 불가능합니다.
참고 자료
이 문제는 CodeUtility에 맞게 수정되었습니다. 위의 설명과 제한 조건을 따르세요.