DevYoon
[ํ๋ก๊ทธ๋๋จธ์ค] ํ๊ฒ ๋๋ฒ (Python) ๋ณธ๋ฌธ
link ๐ https://programmers.co.kr/learn/courses/30/lessons/43165
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ํ๊ฒ ๋๋ฒ
n๊ฐ์ ์์ด ์๋ ์ ์๋ค์ด ์์ต๋๋ค. ์ด ์ ์๋ค์ ์์๋ฅผ ๋ฐ๊พธ์ง ์๊ณ ์ ์ ํ ๋ํ๊ฑฐ๋ ๋นผ์ ํ๊ฒ ๋๋ฒ๋ฅผ ๋ง๋ค๋ ค๊ณ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด [1, 1, 1, 1, 1]๋ก ์ซ์ 3์ ๋ง๋ค๋ ค๋ฉด ๋ค์ ๋ค์ฏ ๋ฐฉ๋ฒ์ ์ธ ์
programmers.co.kr
1๏ธโฃ ๋ํ ๊ฒฝ์ฐ์ ๋บ ๊ฒฝ์ฐ๋ฅผ ๋๋ ์ DFS ๋๋ฆผ
def solution(numbers, target):
answer = 0
def dfs(level, sums):
global answer
if level == len(numbers):
if sums == target:
answer += 1
return
dfs(level+1, sums+numbers[level])
dfs(level+1, sums-numbers[level])
dfs(0, 0)
return answer