https://school.programmers.co.kr/learn/courses/30/lessons/43165
문제 접근
- 모든 경우의 수를 구하는 것이므로 DFS/BFS
- +1, -1 각각 연산하면서 값이 target과 같으면 answer +1
코드
def solution(numbers, target):
answer = 0
numbers_length = len(numbers)
def dfs(idx, value):
if idx == numbers_length:
if target == value:
nonlocal answer
answer += 1
return
dfs(idx+1, value + numbers[idx])
dfs(idx+1, value - numbers[idx])
dfs(0, 0)
return answer
'Development > PS' 카테고리의 다른 글
[Hash]프로그래머스 level 2 의상 java 풀이 (2) | 2023.12.22 |
---|---|
[DP] 프로그래머스 level 3 N 으로 표현 Python 풀이 (1) | 2023.12.05 |
[완전탐색] 프로그래머스 level 2 소수 찾기 Python 풀이 (0) | 2023.11.14 |
[2022 KAKAO TECH INTERNSHIP] 두 큐 합 같게 만들기 Python 풀이 (1) | 2023.11.13 |
[2022 KAKAO TECH INTERNSHIP] 성격 유형 검사하기 Python 풀이 (0) | 2023.11.13 |