코드와이
[SW Expert Academy] 2817. 부분 수열의 합 본문
문제링크
swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV7IzvG6EksDFAXB
완전탐색을 bit로 수행
package D3;
import java.util.Scanner;
public class 부분수열의_합 {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for (int tc = 1; tc <= T; tc++) {
int n = sc.nextInt();
int k = sc.nextInt();
int[] arr = new int[n];
for (int i = 0 ; i < n ; i++) {
arr[i] = sc.nextInt();
}
int ans = 0;
for(int num = 1; num < (int) Math.pow(2, n); num++) {
int sum = 0;
for (int i = 0; i < n; i++) {
if ((num & (1 << i)) > 0) {
sum += arr[i];
if (sum > k) break;
}
}
if (sum == k) {
ans += 1;
}
}
System.out.println("#" + tc + " " + ans);
}
}
}
'SW_Expert' 카테고리의 다른 글
[SW Expert Academy] 6853. 직사각형과 점 (0) | 2021.02.04 |
---|---|
[SW Expert Academy] 5432. 쇠막대기 자르기 (0) | 2021.02.03 |
[SW Expert Academy] 6808. 규영이와 인영이의 카드게임 (0) | 2021.02.03 |
[SW Expert Academy] 9280. 진용이네 주차 타워 (0) | 2021.02.03 |
[SW Expert Academy] 1208. flatten (0) | 2021.02.02 |