‡ CODING TEST STUDY ‡/º 프로그래머스
[프로그래머스 | Java Lv.2] 타겟 넘버
Trudy | 송연
2024. 5. 15. 23:49
문제
https://school.programmers.co.kr/learn/courses/30/lessons/43165
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
dfs/bfs 문제는 감만 익히면 코드가 정말 간단해서 좋은데 dfs/bfs라는 것을 인지 못하면.. 더러운 길로 갈 수 있음
제발 이젠 외워 어떻게 푸는 지
최종코드
package week3.baek.dfsbfs;
public class Ex1 {
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){
System.out.print("depth = " + depth);
System.out.println("sum = " + sum);
if(depth == numbers.length){
if(target == sum) answer++;
}
else{
dfs(numbers, target, depth+1, sum + numbers[depth]);
dfs(numbers, target, depth+1, sum - numbers[depth]);
}
}
}
class Ex1Main{
public static void main(String[] args) {
Ex1 ex1 = new Ex1();
int[] numbers = {1, 1, 1, 1, 1};
int target =3;
System.out.println(ex1.solution(numbers, target));
}
}
참고
https://hyojun.tistory.com/entry/Programmers-%ED%83%80%EA%B2%9F-%EB%84%98%EB%B2%84-Java