📖 문제
🧑🏻💻 풀이 과정
1) 문제 접근 및 이해
DFS 탐색을 실시하여, 각 숫자를 더하거나 빼면서 재귀로 탐색하였습니다.
2) 알고리즘
- DFS
- 재귀
3) 풀이 코드
사용 언어 - JavaScript
function solution(numbers, target) {
let answer = 0 // 정답 변수
function dfs(n, ans) { // dfs 탐색 함수
if (n >= numbers.length) { // numbers 길이만큼 탐색 했다면
if (ans === target) { // 현재까지 정답이 타겟 숫자와 동일하면
answer++ // 정답 증가
}
return
}
dfs(n + 1, ans + numbers[n]) // 현재 숫자를 더하기
dfs(n + 1, ans - numbers[n]) // 현재 숫자를 빼기
}
dfs(0, 0) // dfs 탐색
return answer;
}
🔗 문제 링크
- https://programmers.co.kr/learn/courses/30/lessons/43165
※ 오류 및 오타, 다른 의견이 있는 경우 댓글을 남겨주시면 감사하겠습니다
'알고리즘 문제풀이 > JavaScript' 카테고리의 다른 글
[프로그래머스] 단어 변환 (0) | 2022.05.13 |
---|---|
[프로그래머스] 짝지어 제거하기 (0) | 2022.05.09 |
[프로그래머스] 네트워크 (0) | 2022.05.05 |
[프로그래머스] 오픈채팅방 (0) | 2022.05.05 |
[프로그래머스] 기능개발 (0) | 2022.05.04 |
댓글