diff --git "a/\354\235\264\353\263\221\353\247\214/Programmers/\355\203\200\352\262\237 \353\204\230\353\262\204/README.md" "b/\354\235\264\353\263\221\353\247\214/Programmers/\355\203\200\352\262\237 \353\204\230\353\262\204/README.md" new file mode 100644 index 0000000..2950a07 --- /dev/null +++ "b/\354\235\264\353\263\221\353\247\214/Programmers/\355\203\200\352\262\237 \353\204\230\353\262\204/README.md" @@ -0,0 +1,11 @@ +[Programmers](https://programmers.co.kr/learn/courses/30/lessons/43165). + +Problem : 타겟 넘버 **DFS/BFS** + +Flow : + +1. n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만든다. + +Solution : +1. 배열에 있는 값으로 만들수 있는 모든 경우를 구해야할 것 같다. +2. 음... 경우의 수로 해야하나.. diff --git "a/\354\235\264\353\263\221\353\247\214/Programmers/\355\203\200\352\262\237 \353\204\230\353\262\204/solution.py" "b/\354\235\264\353\263\221\353\247\214/Programmers/\355\203\200\352\262\237 \353\204\230\353\262\204/solution.py" new file mode 100644 index 0000000..3248c07 --- /dev/null +++ "b/\354\235\264\353\263\221\353\247\214/Programmers/\355\203\200\352\262\237 \353\204\230\353\262\204/solution.py" @@ -0,0 +1,22 @@ +cnt = 0 + + +def func(numbers, target, curr, idx): + global cnt + if idx == len(numbers): + if curr == target: + cnt += 1 + return + else: + func(numbers, target, curr + numbers[idx], idx+1) + func(numbers, target, curr - numbers[idx], idx+1) + + +def solution(numbers, target): + global cnt + func(numbers, target, 0, 0) + answer = cnt + return answer + +if __name__ == '__main__': + solution([1, 1, 1, 1, 1], 3)