N개의 동전이 주어질 때, 이 동전들로 만들 수 없는 양의 정수 금액 중 최솟값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에는 동전의 개수를 나타내는 양의 정수 N이 주어진다. (1 <= N <= 1,000)
둘째 줄에는 각 동전의 화폐 단위를 나타내는 N개의 자연수가 주어지며 각 자연수는 공백으로 구분된다. 각 화폐 단위는 1,000,000 이하의 자연수이다.
출력
첫째 줄에 주어진 동전들로 만들 수 없는 양의 정수 금액 중 최솟값을 출력한다.
from itertools import combinations
n = int(input())
s = list(map(int,input().split()))
s.sort()
source = []
source.extend(s)
for j in range(n):
for i in list(combinations(s, j+1)):
source.append(sum(i))
ans = set(source)
ans = list(ans)
range_list=list(range(1, ans[-1]+1))
for i in range(1,ans[-1]):
if i not in ans:
print(i)
break
if ans==range_list:
print(ans[-1]+1)
...정답 보고 의욕 상실함ㅋ
그래도 풀었다는거에 의의를 두겠다...
복잡한.. 내 코드의 순서도
쓰다보니 갑자기 틀렸다는 걸 깨닳은 ... 그래도 앵간 예시는 다 맞음(강조)^^
ㅋㅋㅋㅋㅋㅋ ㅠㅠ 정답이 너무 똑똑했다
이번 문제도 딱 처음 봤을 때 어떻게 해야할지 감이 안잡혔던 문제
뭔가 우걱우걱 푼 느낌의 문제... 다음에도 이렇게 풀 것 같긴 하지만
그래도 오늘도 해냈다. <<도대체 뭘 뿌듯해하시는거죠