SWEA 2817. 부분 수열의 합

2024. 3. 7. 21:16코딩 테스트/SWEA

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV7IzvG6EksDFAXB

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

전체 코드

# Code
def solution(nums: list, k):
    results = []

    def dfs(path, start, k):
        num_sum = sum(path)
        if num_sum == k:
            results.append(path)
            return
        elif num_sum > k:
            return

        for i in range(start, len(nums)):
            dfs(path + [nums[i]], i + 1, k)

    dfs([], 0, k)
    return len(results)

# --- submit ---

T = int(input())

for test_case in range(1, T + 1):
    n, k = map(int, input().split(' '))
    nums = list(map(int, input().split(' ')))

    result = solution(nums, k)
    print(f'#{test_case} {result}')