나의 풀이
class Solution {
public static int solution(int[] numbers, int target) {
return DFS(numbers,0, 0, target, 0);
}
public static int DFS(int[] numbers, int L, int sum, int target, int cnt) {
if (L == numbers.length) {
if (sum == target) {
cnt += 1;
return cnt;
}
} else {
cnt = DFS(numbers,L+1, sum-numbers[L], target, cnt);
cnt = DFS(numbers, L+1, sum+numbers[L], target, cnt);
}
return cnt;
}
}
▶ 재귀함수는 forward-back을 반복한다.
'프로그래머스(자바) > LV.2(자바)' 카테고리의 다른 글
k진수에서 소수 개수 구하기→10진수를 n진법의 문자열+StringBuilder()+소수판별(제곱근, long타입) (0) | 2023.01.02 |
---|---|
전화번호 목록→ String문자열의 정렬 sort()의 개념★★ (0) | 2023.01.02 |
뉴스 클러스터링→substring(), 정규식, 이중for문+교집합★★ (0) | 2022.12.28 |
프린터★→ 순서쌍을 사용X, 기능개발과 유사★★+while(true) (0) | 2022.12.28 |
기능개발→ 나누기★ + 미친 for문★ +cnt★ (0) | 2022.12.27 |