소스코드
from itertools import combinations
N,S = map(int,input().split())
seq = list(map(int,input().split()))
result = []
cnt = 0
for i in range(len(seq)+1):
result = result+list(combinations(seq,i))
del result[0]
for i in result:
if (sum(i)) == S:
cnt += 1
print(cnt)
알고리즘
- 파이썬의 itertools에 있는 combinations를 이용하여 부분 순열을 구한다.
- 공집합은 제거한다
- 합이 S인 개수를 구한다.
기본적인 문제라 시시했다.
'Coding test' 카테고리의 다른 글
[백준/14889/파이썬] 스타트와 링크 (0) | 2023.02.07 |
---|---|
[백준/11726/파이썬] 2×n 타일링 (0) | 2023.02.06 |
[백준/6064/파이썬] 카잉 달력 (0) | 2023.01.28 |
[백준/3085/파이썬] 사탕게임 - 브루트포스 (0) | 2023.01.27 |
[백준/1476/파이썬] 날짜계산 - 브루트포스 (0) | 2023.01.26 |