coding/알고리즘,자료구조

DFS 연습 - 원소의 합에 대한 조건이 있는 부분집합 개수 구하기

Jeo 2022. 1. 22. 23:42

def DFS(L, starting_i, now_sum):
    global count
    if L == k:
        if now_sum % 6 == 0:
            count += 1
        return
    else:
        for i in range(starting_i, len(nums)):
            DFS(L+1, i+1, now_sum+nums[i])
            # 나는 처음엔 인덱스가 아니라 숫자 자체로 다루려고 했는데
            # 인덱스 사용이 훨씬 확실하고 나중에 혼란이 적은 것 같다!

if __name__ == "__main__":

    nums = [2, 4, 5, 8, 12]
    k = 3
    n = 6
    count = 0
    DFS(0, 0, 0)

    print(count)