본 글은 문제를 어떻게 풀었는지 기억하고자 정리한 글입니다.
타겟 넘버는 여러개의 숫자들의 덧셈 뺄셈 조합으로 , 주어진 값이 나오는 경우의 수를 찾는 문제입니다.
이 문제는 백준에 사칙연산 방식을 백트래킹 방식으로 구현한 것과 동일하게 진행하면 바로 풀립니다.
total = 0 def backtrack(current_lst,current_idx,val,target): global total if current_idx != len(current_lst): backtrack(current_lst, current_idx+1, val+current_lst[current_idx], target) backtrack(current_lst, current_idx+1, val-current_lst[current_idx],target) else: if val == target: total+=1 def solution(numbers, target): global total backtrack(numbers, 0, 0, target) answer = total return answer음.. 제가 생각할 수 있었던 방법은 global 변수에 저장해서 갖고 온 방식이어서 이렇게 구현했습니다. 혹시 더 좋은 방식이 있다면 피드백해주시면 감사하겠습니다!