만들 수 없는 금액
이 문제는 사용자로부터 N개의 동전과 그 동전들의 값을 입력으로 받는다.
우리는 이 동전들을 가지고 만들 수 없는 가장 작은 값을 구하려 한다.
만약 3 2 1 1 9, 이렇게 다섯개의 동전을 입력으로 받는다면 8원은 만들 수 없으므로 8이 정답이 된다.
기본적인 아이디어는 다음과 같다.
1. 입력받은 동전들을 money 리스트에 저장한다.
2. 이후 combinations를 이용하여 money 리스트로 만들 수 있는 모든 부분 집합을 구한다.
우리는 중복이 필요없기 때문에 set()을 이용하여 중복을 제거하여 준다.
3. for문을 통해 각 부분 집합들로 만들 수 있는 합을 리스트에 저장한다.
4. 1부터 입력 받은 동전으로 만들 수 있는 가장 큰 값까지 반복문을 실행하고 만약 인덱스 값이 합을 저장 한 리스트에 존재하지 않는다면 해당 인덱스를 출력한다.
파이썬으로 구현한 내용
1, 2 단계 내용
3, 4 단계 내용


댓글
댓글 쓰기