주어진 배열의 값들의 합으로 정해진 값을 만족하는 중복되지 않는 조합을 돌려주는 문제.
대부분 어제의 문제와 비슷하나, 배열내의 값을 한번씩만 사용이 가능하다.
그래서 풀이방향을 비슷하게 잡아 조합을 찾을 재귀함수를 만들고, 해당 재귀함수를 수행시켜 결과를 구하는 방식을 취하였다.
재귀함수는 주어진 배열, 타겟값, 선택한 배열 을 입력 값으로 받는다.
주어진 배열을 for문으로 순회하면서 타겟값을 해당 값들로 차감하였을때, 결과가 0이면 선택된 값과 입력된 선택된 배열을 묶어서 하나의 조합으로 정리하고 오름차순으로 정렬하여 객체내에 존재하는지를 확인하고 없다면 새로운 결과로 추가한다.
결과가 양수라면 다음 재귀함수를 수행하는데 선택된 배열과 현재 값을 묶어서 다음 선택된 배열로,
주어진 배열에서 현재 값을 제거하여 다음 주어진 배열로, 타겟값에서 현재 값을 차감하여 다음 타겟값으로 사용한다. 얻어진 결과는 현재 결과에 추가하여 돌려준다.
위방식을 통해 결과를 얻었으나, 일부 예문에서는 결과를 얻는데 소용되는 시간이 너무 길다는 평가를 받았다. 해당부분에서 풀이가 막혀 좀 더 고민해봐야할것 같다.
회복중