그냥 경우의 수 구하는 문제.
class Solution {
static int[] ch;
static int answer=0;
public int solution(int[] number) {
ch = new int[number.length+1];
DFS(0,0,number,0);
return answer;
}
public static void DFS(int L,int sum,int[] number,int s){
if(L==3 && sum==0) answer++;
if(L==3) return;
else{
for(int i=s; i<number.length; i++){
if(ch[i]==0){
ch[i]=1;
DFS(L+1,sum+number[i],number,i+1);
ch[i]=0;
}
}
}
}
}
그냥 경우의 수 구하는 간단한 문제인데, 일반적인 for문을 이용해서 비교해가면서 구하기는 시간복잡도도 그닥이고 흔한 방식같아서 DFS로 구현해봤다.