알고리즘
백준 #1182 부분 수열의 합
난이도 : 실버2소요시간 : 58분사용한 풀이법 : 백트래킹풀이 과정1. 현재 원소 위치와 총합을 매개변수로 하는 func()정의2. 현위치 변수가 n과 같고, 총합이 s와 같은 경우에 카운트 후 리턴3. 조건 미 충족 시, func() 재귀4. 재귀는 다음 위치의 수를 더하는 경우와, 더하지 않는 경우 두가지로 진행5. S가 0일 때, 모두 더하지 않은 경우를 카운트에서 제외시켜야 함.작성 코드#include using namespace std;int n, s;int arr[30];int cnt = 0;void func(int cur, int tot){ if(cur == n){ if(tot == s) cnt++; return; } func(cur+1, tot+arr[cur]); ..
2024. 2. 12. 23:41