[2024.01.31] List 2

체리마루·2024년 1월 31일
def f(arr, N):
    for i in range(1, 1 << N):
        s = 0
        for j in range(N):
            if i & (1 << j):
                s += arr[j]
        
        if s == 0:
            return True
    
    return False

N = int(input())
arr = list(map(int, input().split()))
print(f(arr, N))
#부분집합 합 문제 구현하기
#10개의 정수를 입력 받아 부분집합의 합이 0이 되는 것이 존재하는지를 계산하는 함수

arr = [1,2,3,-1,-2,-3]
n = len(arr)  #6
cnt = 0

for i in range(1 << n):  #2^6
    subset = []
    for j in range(n):  #6
        if i & (1 << j):
            subset.append(arr[j])

    if sum(subset) == 0:
        cnt += 1

print(cnt)
profile
멋쟁이 토마토 개발자 🍅

0개의 댓글