1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/43165
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr

2. 알고리즘
더보기
1. 덧셈 뺄셈 모든 연산을 확인해본다
2. dfs로 전부 해보는게 솔루션
3. 종료 조건은 현재값이 target 값이며 모든 numbers를 idx를 확인하고 마지막 len(numbers)에 왔을때 최종 결과 값이 나오므로 종료 (여기서 실수 마지막 배열값에 도달하기 전에 중지 하면 값이 안나옴)
3. 코드
answer = 0
def solution(numbers, target):
def dfs(idx, cur):
global answer
if cur == target and idx == len(numbers): #마지막 연산까지 진행 후 target number에 도달 한 경우 정답 카운트
answer += 1
return
if idx >= len(numbers): return #인덱스 벗어남 방지
dfs(idx+1, cur+numbers[idx]) #덧셈연산
dfs(idx+1, cur-numbers[idx]) #뺄셈연산
dfs(0,0)
return answer
'Algorithm' 카테고리의 다른 글
| [프로그래머스] 단어 변환 (0) | 2026.01.07 |
|---|---|
| [프로그래머스] 소수 찾기 (1) | 2026.01.07 |
| [프로그래머스] 베스트앨범 (0) | 2026.01.03 |
| [백준 2146] 다리 만들기 (0) | 2024.09.17 |
| [백준 1987] 알파벳 (0) | 2024.09.17 |