목차

타겟 넘버

ps
링크programmers.co.kr/…
출처프로그래머스
문제 번호43165
문제명타겟 넘버
레벨Level 2
분류

DP

시간복잡도O(n*n*m)
인풋사이즈n<=20, m<=50
사용한 언어Python
해결날짜2020/11/23
태그

고득점 Kit - DFS/BFS

풀이

코드

"""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]