๐งฎ PS [ํ๋ก๊ทธ๋๋จธ์ค] (Python) - ํ๊ฒ ๋๋ฒ - https://programmers.co.kr/learn/courses/30/lessons/43165 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ํ๊ฒ ๋๋ฒ n๊ฐ์ ์์ด ์๋ ์ ์๋ค์ด ์์ต๋๋ค. ์ด ์ ์๋ค์ ์์๋ฅผ ๋ฐ๊พธ์ง ์๊ณ ์ ์ ํ ๋ํ๊ฑฐ๋ ๋นผ์ ํ๊ฒ ๋๋ฒ๋ฅผ ๋ง๋ค๋ ค๊ณ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด [1, 1, 1, 1, 1]๋ก ์ซ์ 3์ ๋ง๋ค๋ ค๋ฉด ๋ค์ ๋ค์ฏ ๋ฐฉ๋ฒ์ ์ธ ์ programmers.co.kr ๋ฌธ์ ์ ํ : DFS / BFS ํ์ด dfs(idx, ๋์ ๊ฐ): if idx == numbers์ ๊ฐ์ # ์ฌ๊ท ์ข ๋ฃ์กฐ๊ฑด : ๋ชจ๋ ์์๋ฅผ ๋ํ๊ฑฐ๋ ๋บ๋ค๋ฉด ์ข ๋ฃ if ๋์ ๊ฐ == target: # ๋ชจ๋ ์์๋ฅผ ๋ํ๊ฑฐ๋ ๋บ๋๋ฐ, ๋์ ๊ฐ์ด target๊ณผ ์ผ์นํ๋ฉด answer += 1 answer += 1 return # ์์ง ์ข ๋ฃ์ ์ด๋ผ๋ฉด dfs(idx, ๋์ ๊ฐ + numbers[idx]) # ๋ค์ ์ซ์๋ฅผ ๋ํ๋ ๊ฒฝ๋ก dfs(idx, ๋์ ๊ฐ - numbers[idx]) # ๋ค์ ์ซ์๋ฅผ ๋นผ๋ ๊ฒฝ๋ก answer = 0 def dfs(max_len, cnt, result, target, numbers): if cnt == max_len: if result == target: global answer answer += 1 return dfs(max_len, cnt + 1, result + numbers[cnt] ,target, numbers) dfs(max_len, cnt + 1, result - numbers[cnt] ,target, numbers) def solution(numbers, target): global answer max_len = len(numbers) dfs(max_len, 0, 0, target, numbers) return answer ๊ณต์ ํ๊ธฐ URL ๋ณต์ฌ์นด์นด์คํก ๊ณต์ ํ์ด์ค๋ถ ๊ณต์ ์์ค ๊ณต์ ๊ฒ์๊ธ ๊ด๋ฆฌ ๊ตฌ๋ ํ๊ธฐnewmon Contents ๋ฌธ์ ์ ํ:DFS/BFS ํ์ด ๋น์ ์ด ์ข์ํ ๋งํ ์ฝํ ์ธ [ํ๋ก๊ทธ๋๋จธ์ค] (Python) - ๋คํธ์ํฌ 2022.03.11 [ํ๋ก๊ทธ๋๋จธ์ค] (Python) - ์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ 2022.03.09 ๋ฐฑ์ค (boj) ํ์ด์ฌ - 2468๋ฒ: ์์ ์์ญ 2021.08.25 ๋ฐฑ์ค (boj) ํ์ด์ฌ - 10026 : ์ ๋ก์์ฝ 2021.08.25 ๋๊ธ 0 + ์ด์ ๋๊ธ ๋๋ณด๊ธฐ