Tree's 개발일기
[자바] 타겟넘버 본문
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/43165
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
전형적인 깊이우선탐색 유형이다.
깊이를 우선으로 탐색하면서 모든 경우의 수를 조합해서 숫자를 만들어 내는 문제이다.
depth가 끝까지 돌았고, sum과 target number가 같으면 answer+1하고, return;
만약끝까지 돌지 않았다면 +도 해보고 -도 하면서 숫자를 조합해본다.
class Solution {
public static int answer=0;
public int solution(int[] numbers, int target) {
dfs(numbers, target, 0,0);
return answer;
}
public void dfs(int[] numbers, int target, int depth, int sum) {
if (depth==numbers.length) {
if (sum==target) {
answer++;
}
return;
}
dfs(numbers, target, depth+1, sum+numbers[depth]);
dfs(numbers, target, depth+1, sum-numbers[depth]);
}
}728x90
'문제풀이 > 프로그래머스' 카테고리의 다른 글
| [자바]N개의 최소공배수 (0) | 2023.07.29 |
|---|---|
| [자바] 방금그곡 (0) | 2023.07.29 |
| [자바] JadenCase 문자열 만들기 (0) | 2023.07.28 |
| [자바] 거리두기 확인하기 (0) | 2023.07.27 |
| [자바] 숫자변환하기 (0) | 2023.07.24 |
Comments