[C++] 백준/BOJ - 1182 : 부분수열의 합
Algorithm/BOJ
2022. 1. 31. 19:52
문제 접근 단계 위 문제를 처음에는 오름차순 또는 내림차순 정렬을 해둔 뒤 여러 탐색 기법을 사용해서 풀려고 했다. 그런데 합이 S가 되는 부분수열의 개수가 하나 이상이 나올 수 있어서 이렇게 해결하는 것은 비효율적이라고 생각했다. 예제에서 답이 나올 수 있는 케이스는 부분 수열이 -3,-2,5 일 때이다. 이럴 경우에는 답이 하나여서 반복으로 특정할 수는 있겠지만, 만약 답이 여러 개인 경우에는 구하기가 굉장히 어려워진다. 그래서 접근법을 바꿔서 생각했는데, 각각 수열의 원소를 하나의 요소로 본다는 생각을 가졌다. 예제 케이스에서는 -3,-2,5가 원소이다. 이를 통해서 해당 원소가 포함되는 경우와 안 되는 경우를 전부 나눠서 생각해 보면 이런 식의 그림이 나오게 된다. 예를 들어 가장 위쪽의 화살표만..