[백준] 1182번 부분 수열의 합 (구현, java, subset)
728x90
반응형
subset을 사용해서 처리해줬다.
길이가 1이상이라는 조건이 있다
import java.util.Scanner;
public class Main {
static int n,s;
static int[] arr;
static int answer;
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();
}
subset(0,0,0);
System.out.println(answer);
}
private static void subset(int idx,int sum,int cnt) {
if(idx==n) {
if(cnt!=0 && sum==s) {
answer+=1;
}
return;
}
subset(idx+1,sum+arr[idx],cnt+1);
subset(idx+1,sum,cnt);
}
}
728x90
반응형
'백준' 카테고리의 다른 글
[백준] 17143번 낚시왕 (java, 시뮬레이션) (0) | 2021.04.18 |
---|---|
[백준] 2468번 안전 영역 (java, bfs, 시뮬레이션) (0) | 2021.04.18 |
[백준] 19238번 스타트 택시 (java, 시뮬레이션, bfs) (0) | 2021.04.17 |
[백준] 17471번 게리맨더링 (java, bfs, subset) (0) | 2021.04.16 |
[백준] 3055번 탈출 (java, bfs) (0) | 2021.04.16 |
TAGS.