| ps | |
|---|---|
| 링크 | programmers.co.kr/… |
| 출처 | 프로그래머스 |
| 문제 번호 | 43165 |
| 문제명 | 타겟 넘버 |
| 레벨 | Level 2 |
| 분류 |
DP |
| 시간복잡도 | O(n*n*m) |
| 인풋사이즈 | n<=20, m<=50 |
| 사용한 언어 | Python |
| 해결날짜 | 2020/11/23 |
| 태그 | |
"""Solution code for "Programmers 43165. 타겟 넘버".
- Problem link: https://programmers.co.kr/learn/courses/30/lessons/43165
- Solution link: http://www.teferi.net/ps/problems/programmers/43165
"""
import collections
def solution(numbers, target):
dp_cur = {0: 1}
for number in numbers:
dp_cur, dp_prev = collections.defaultdict(int), dp_cur
for result, count in dp_prev.items():
dp_cur[result + number] += count
dp_cur[result - number] += count
return dp_cur[target]