Python으로 구현한 2817번 부분 수열의 합 문제 풀이입니다.
from itertools import combinations
t = int(input())
for tc in range(1, t + 1) :
n, k = map(int, input().split())
data = list(map(int, input().split()))
result = 0
for i in range(1, len(data) + 1) :
for value in combinations(data, i) :
if sum(value) == k :
result += 1
print('#%d %d' % (tc, result))
1. 각 테스트 케이스마다 n개의 수를 입력받아 data 리스트에 저장한다.
2. itertools.combinations() 를 통해 data 리스트의 요소를 i개씩 뽑고, 뽑은 값들의 합이 k와 같을 경우 result를 1 증가시킨다.
3. 최종적으로 해당 테스트 케이스 번호와 함께 result 값을 출력한다.
'SWEA(Python) 풀이 > D3' 카테고리의 다른 글
SWEA[D3] (Python) 2805번 농작물 수확하기 풀이 (0) | 2022.05.26 |
---|---|
SWEA[D3] (Python) 2814번 최장 경로 풀이 (0) | 2022.05.26 |
SWEA[D3] (Python) 2948번 문자열 교집합 풀이 (0) | 2022.05.26 |
SWEA[D3] (Python) 3131번 100만 이하의 모든 소수 풀이 (0) | 2022.05.25 |
SWEA[D3] (Python) 3142번 영준이와 신비한 뿔의 숲 풀이 (0) | 2022.05.25 |