728x90
programmers.co.kr/learn/courses/30/lessons/43165
코딩테스트 연습 - 타겟 넘버
n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+
programmers.co.kr
전형적인 완전 탐색 문제
DFS를 통해 풀었다
class Solution {
public int solution(int[] numbers, int target) {
return dfs(numbers,0,0,target);
}
public int dfs(int[] numbers,int index, int sum, int target){
if(index == numbers.length){
if(sum==target){
return 1;
}
else{
return 0;
}
}
return dfs(numbers,index +1,sum+numbers[index],target) + dfs(numbers,index + 1,sum-numbers[index],target);
}
}
728x90
'프로그래머스 코딩테스트 연습 > Level2' 카테고리의 다른 글
[프로그래머스][JAVA] 카카오프렌즈 컬러링북 (0) | 2021.05.06 |
---|---|
[프로그래머스][JAVA] 더 맵게 (0) | 2021.05.06 |
[프로그래머스][JAVA] 124 나라의 숫자 (0) | 2021.05.06 |
[프로그래머스][JAVA] 기능개발 (0) | 2021.05.06 |
피보나치 수(c언어) (0) | 2020.06.12 |