-
728x90
- dfs를 응용하여 각 숫자를 더했다가 빼보면 된다.
그러면 numbers의 숫자를 빼고 더하는 모든 경우의 수에 대해 탐색 가능!class Solution {static int answer = 0;public int solution(int[] numbers, int target) {makeTargetNum(numbers, target, 0, 0);return answer;}static void makeTargetNum(int[] numbers, int target, int cnt, int sum) {if(cnt == numbers.length) {if(sum == target)answer++;return;}makeTargetNum(numbers, target, cnt + 1, sum - numbers[cnt]);makeTargetNum(numbers, target, cnt + 1, sum + numbers[cnt]);}}데롱디롱희희.. (๑′ᴗ‵๑)
'알고리즘 풀이 > 프로그래머스' 카테고리의 다른 글
[level3] 프로그래머스 - 단어 변환(JAVA) (0) 2021.09.14 [level3] 프로그래머스 - 네트워크(JAVA) (0) 2021.09.14 [level2] 프로그래머스 - 124 나라의 숫자 (2) 2021.09.12 [level2] 프로그래머스 - 순위 검색(JAVA) (0) 2021.09.12 [level2] 프로그래머스 - 멀쩡한 사각형(JAV) (0) 2021.09.11