최종 제출 코드
n = int(input())
array = list(map(int, input().split()))
visited=[0]*n
stack = []
result = {}
def dfs(index):
if stack:
result[sum(stack)] = 1
for i in range(index, n):
if not visited[i]:
stack.append(array[i])
visited[i] = 1
dfs(i+1)
stack.pop()
visited[i] = 0
dfs(0)
for i in range(1,2000001):
if i not in result:
print(i)
break
◼️ dfs를 이용하여 모든 부분집합을 구함