황소개발자
백준 1182 파이썬 python : 부분수열의 합 @@황소처럼 우직하게@@ 본문
반응형
import sys
input = sys.stdin.readline
n, s = map(int, input().split())
num_list = list(map(int, input().split()))
ans = 0
def subSet(idx, total):
global ans
if idx >= n:
return
total += num_list[idx]
if total == s:
ans += 1
subSet(idx + 1, total - num_list[idx])
subSet(idx + 1, total)
subSet(0, 0)
print(ans)
jaimemin 님의 c++ 풀이를 참고하였다.
재귀로 풀었다.
Solution
각 원소는 그 원소가 포함되었는지 안되었는지로 나뉘어진다.
길이가 0인 것이 계산되면 안되기에
total += num_list[idx]
재귀 함수에서 위 코드처럼 먼저 더하고 시작한다.
반응형
'백준 문제 풀이' 카테고리의 다른 글
파이썬 리스트 빼기 리스트 : 리스트 차집합 한줄로 구현하기 (0) | 2020.02.26 |
---|---|
백준 1966 파이썬 python : 프린터 큐 @@황소처럼 우직하게@@ (0) | 2020.02.26 |
백준 2504 파이썬 python : 괄호의 값 @@황소처럼 우직하게@@ 원리를 알면 참 재밌는 문제 (0) | 2020.02.26 |
백준 14499 파이썬 python : 주사위 굴리기 @@황소처럼 우직하게@@ 깔끔하게 풀기 (0) | 2020.02.26 |
백준 13458 파이썬 python : 시험감독 @@황소처럼 우직하게@@ (0) | 2020.02.26 |
Comments