#5557
문제
풀이
N=int(input())
l=list(map(int,input().split()))
dp=[[0]*21 for _ in range(N)]
first=l.pop(0)
last=l.pop()
dp[1][first]=1
for i in range(1,N-1):
x=l.pop(0)
for j in range(21):
if(0<=j+x<=20):
dp[i+1][j+x]+=dp[i][j]
if(0<=j-x<=20):
dp[i+1][j-x]+=dp[i][j]
print(dp[N-1][last])
다른 블로그 찾아봤는데 상근이가 더 이상 덧셈과 뺄셈을 좋아하지 않았으면 좋겠다는 글이 너무 공감되었다..
참고1
참고2
Author And Source
이 문제에 관하여(#5557), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@cherriverhee/5557저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)