diff --git "a/Recursion/11729.Hanoi-tower/\352\271\200\354\212\271\354\225\204.py" "b/Recursion/11729.Hanoi-tower/\352\271\200\354\212\271\354\225\204.py" new file mode 100644 index 0000000..b9ae23a --- /dev/null +++ "b/Recursion/11729.Hanoi-tower/\352\271\200\354\212\271\354\225\204.py" @@ -0,0 +1,13 @@ +import sys + +def solve(a, b, c, n): + if n == 1: #최소 이동횟수 + print(a, c) + else: + solve(a, c, b, n - 1) + print(a, c) + solve(b, a, c, n - 1) + +n = int(sys.stdin.readline()) +print(2**n - 1) +solve(1, 2, 3, n) diff --git "a/Recursion/43165.target-number/\352\271\200\354\212\271\354\225\204.py" "b/Recursion/43165.target-number/\352\271\200\354\212\271\354\225\204.py" new file mode 100644 index 0000000..5041f3c --- /dev/null +++ "b/Recursion/43165.target-number/\352\271\200\354\212\271\354\225\204.py" @@ -0,0 +1,16 @@ +def solution(numbers, target): + answer = recur(numbers, target, 0) + return answer + +def recur(numbers, target, i): + answer = 0 + if i == len(numbers): + if sum(numbers) == target: + return 1 + else: + return 0 + else: + answer += recur(numbers, target, i+1) + numbers[i] *= -1 + answer += recur(numbers, target, i+1) + return answer