알고리즘/문제풀이
[Python] 프로그래머스 lv2 - 타겟 넘버
skyriv
2024. 1. 3. 17:01
[Python] 프로그래머스 lv2 - 타겟 넘버
코딩테스트 연습 - 타겟 넘버 | 프로그래머스 스쿨 (programmers.co.kr)
문제 설명
- 주어진 숫자 리스트의 내부 원소를 각각의 +-를 진행하여 계산
- 이때 최종적으로 계산된 결괏값이 target과 같은 경우를 종합하여 최종 경우의 수를 출력
- DFS/BFS 카테고리
- 재귀로 풀이
- total 값에 각각의 idx를 더하기, 빼기를 진행하여 total 값 변경을 진행
풀이 코드
answer=0
def recur(numbers, target, idx,total):
global answer
if idx == len(numbers):
if total == target:
answer+=1
return
recur(numbers, target, idx+1, total+numbers[idx])
recur(numbers, target, idx+1, total-numbers[idx])
def solution(numbers, target):
global answer
recur(numbers, target, 0,0)
return answer