Solution:
def dfs(index, current_sum, numbers, target):
# 모든 숫자를 탐색했을 때
if index == len(numbers):
if current_sum == target:
return 1
else:
return 0 # 타겟과 같으면 1, 아니면 0 반환
# 다음 단계 탐색
count=0
count = count + dfs(index+1, current_sum+numbers[index], numbers, target)
count = count + dfs(index+1, current_sum-numbers[index], numbers, target)
return count
def solution(numbers, target):
return dfs(0, 0, numbers, target)
Skills:
- 이런 문제의 접근방법을 암기해야 할 듯 하다.
- 함수 작성 후 return 하고 아무것도 작성안하면 None이 반환 됨. (return = return None)
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 모음 사전 | 파이썬 (0) | 2025.05.26 |
---|---|
[프로그래머스] LV2 구명보트 | 파이썬 (0) | 2025.05.21 |
[프로그래머스] LV2 큰 수 만들기 | 파이썬 (0) | 2025.05.21 |
[프로그래머스] LV2 조이스틱 | 파이썬 (0) | 2025.05.12 |
[프로그래머스] LV2 [PCCP 기출문제] 2번 석유 시추 | 파이썬 (0) | 2025.05.12 |