function solution(N, number) {
let arr = Array.from({length: 8}, () => new Set());
for(let i = 0; i< arr.length; i++) {
arr[i].add(+N.toString().repeat(i+1));
for(let j = 0; j < i; j++) {
for(let arg1 of arr[j]) {
for(let arg2 of arr[i-j-1]) {
arr[i].add(arg1+arg2)
arr[i].add(arg1-arg2)
arr[i].add(arg1/arg2)
arr[i].add(arg1*arg2)
}
}
}
if(arr[i].has(number)) return i+1
}
return -1;
}
N 사용횟수 최솟값이 8을 초과하면 -1을 반환하므로 길이가 8인 배열을 만들어 요소를 set으로 저장한다.
N사용횟수가 1부터 8까지의 모든 경우의 수를 set에 저장하여 일치하는 수가 나올 경우 그 값을 반환하고 없다면 -1을 반환.