황소개발자

백준 5557 파이썬 python : 1학년 @@황소처럼 우직하게@@ 난 지금 4학년.. 본문

백준 문제 풀이

백준 5557 파이썬 python : 1학년 @@황소처럼 우직하게@@ 난 지금 4학년..

hjp845 2020. 3. 26. 18:15
반응형

초등학교 4학년..

0 ~ 20 배열 두개 만들어줘서 번갈아가면서 업데이트해주면 됩니다

수 하나씩 꺼내면서 고려해주는 것이죠.

n = int(input())
lst = list(map(int, input().split()))

dp1 = [0] * 21
dp2 = [0] * 21

dp1[lst[0]] = 1
for i in range(1, n - 1):
    for j in range(21):
        if j + lst[i] <= 20:
            dp2[j + lst[i]] += dp1[j]
        if j - lst[i] >= 0:
            dp2[j - lst[i]] += dp1[j]
    dp1 = dp2
    dp2 = [0] * 21
    
print(dp1[lst[-1]])

 

 

반응형
Comments