SK C&C 최종 탈락.. 아직 공부가 모자란가보다. 다시 코테 빡세게 준비해야한다. 이번 주는 토익이 만기라 토익 공부도 병행해야한다. 코테는 일단 프로그래머스의 dfs, bfs 문제 위주로 계속 풀어보려 한다.
https://school.programmers.co.kr/learn/courses/30/lessons/43165
- 문제
numbers 자연수 숫자 배열이 주어지면 주어진 숫자대로 +와 -로 계산하여 target 숫자에 맞는 경우의 수를 찾는 문제
import java.util.*;
class Solution {
// dfs와 solution 둘 다 써야하므로 전역 선언
private static int answer = 0;
private static void dfs(int[] numbers, int target, int sum, int depth){
// 깊이가 배열을 끝까지 탐색했으면 총합이 타겟과 맞는지 확인
if (depth == numbers.length){
if (target == sum) answer++;
// 아니라면 +와 -를 재귀적으로 2번 수행
} else{
dfs(numbers, target, sum+numbers[depth], depth+1);
dfs(numbers, target, sum-numbers[depth], depth+1);
}
}
public int solution(int[] numbers, int target) {
dfs(numbers, target, 0, 0);
return answer;
}
}