문제 해결 전략
#include <string>
#include <vector>
using namespace std;
int solution(int N, int number) {
int answer = 0;
// 모든 경우의 수를 나타내야 하므로, 재귀를 생각함.
// N를 사용한 개수가 8보다 크면 -1리턴이므로,
// 제한값도 정해짐.
// 나눗셈과 같은 연산자 우선순위가 높은거 처리하기가 버겁다...
//=====================
// 점진적으로 미지의수를 만들면서?
// number까지를 만들수 있을까????
// 왜냐하면 숫자를 그런데 8개를 사용가능하다...
// 숫자 1개를 사용해서 number를 만들수 있을까?
// => 5
// 숫자 2개를 사용해서 number를 만들수 있을까 ?
// 5 + 5 = 10
// 5 - 5 = 0
// 5 * 5 = 25
// 5 / 5 = 1
// 55 = 55
// 숫자 3개를 이용해서 만들수 있을까?
// 그런데 진행을 하다보면,
// 25 -> 5 + 5 + 5+ 5 와 같이 중복된 결과가 나올수도 있따.
// 이전의 진행한 결과값을 가지고 +5/ -5 / *5 / '/5 ' / 덧붙이기를 진행하자.
// 숫자 3개라고 한다면?
// 5 + 5 + 5
// 5 + 5 * 5
// 5 + 5 / 5
// 5 + 5 - 5
// 진행하면서 결과값이 음수가 나오면, 해야하는것인가?
// [2] = {0,10,25,1,55} 를 만들고,
// [3] 진행시에는 [2] 에서 구한 내용을 가지고 연산을 진행하는데,
// int,set<int> 이렇게 만들까?
// 1번 : set<int>에는 5
// 2번 : set<int>에는 10,0,25,1,55 가 들어가는 식이므로.
// set<int> dp[idx]; 이렇게 표현해야 한다.
return answer;
}