전형적인 DFS 문제다. 그나저나 전역변수 쓰는법 몰라서 오래 걸렸다.
answer = 0
def dfs(numbers, target, cnt, num):
global answer
if cnt == len(numbers):
if num == target:
answer+=1
return
dfs(numbers,target,cnt+1,num+numbers[cnt])
dfs(numbers,target,cnt+1,num-numbers[cnt])
return
def solution(numbers, target):
global answer
dfs(numbers, target, 0, 0)
return answer
'Programming > Programmers' 카테고리의 다른 글
[프로그래머스/Python] 큰 수 만들기(그리디) (0) | 2020.12.19 |
---|---|
[프로그래머스/Python] 피보나치 수(DP) (0) | 2020.12.17 |
[프로그래머스/Python] K번째수(정렬) (0) | 2020.12.16 |
[프로그래머스/Python] 모의고사(단순구현) (0) | 2020.12.16 |
[프로그래머스/Python] 카펫(소인수분해) (0) | 2020.12.16 |