😊문제
백준 1182 - 부분수열의 합
😊 코드
import java.util.Scanner;
public class Main {
static int N;
static int S;
static int[] arr;
static int sum;
static int flag;
static int cnt = 0;
static boolean[] isSelected;
static void sum(int num) {
if (num == N) {
sum = 0;
for (int i = 0; i < N; i++) {
if (isSelected[i]) {
sum += arr[i];
}
}
if (sum == S) {
cnt++;
}
return;
}
isSelected[num] = true;
sum(num + 1);
isSelected[num] = false;
sum(num + 1);
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
N = sc.nextInt();
S = sc.nextInt();
arr = new int[N];
for (int i = 0; i < N; i++) {
arr[i] = sc.nextInt();
}
N = arr.length;
isSelected = new boolean[N];
sum(0);
if(S==0) {
cnt-=1;
}
System.out.println(cnt);
}
}