Posts [알고리즘] 백준 1182 - 부분 수열의 합
Post
Cancel

[알고리즘] 백준 1182 - 부분 수열의 합


문제

1182 - 부분 수열의 합


접근

보통 원하는 수를 만들거나 초과하면 거기서 멈추지만, 이 문제의 경우 음수도 포함되어 있기때문에 끝까지 돌려봐야한다.


코드

  • 파이썬 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
def func(idx, nowSum):
    if n == idx:
        if s == nowSum:
            return 1
        else:
            return 0

    return func(idx+1, nowSum) + func(idx+1,nowSum+arr[idx])
n, s = map(int, input().split())
arr = list(map(int, input().split()))

result = func(0,0)

if s == 0:
    result-=1

print(result)


This post is licensed under CC BY 4.0 by the author.