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]