[Python] 프로그래머스 lv2 - 타겟 넘버

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