N으로 표현 자바스크립트

HyosikPark·2020년 12월 7일
0

알고리즘

목록 보기
59/72
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을 반환.

0개의 댓글