작성
·
286
0
저는 check 배열을 사용하지 않고 재귀함수를 탈 때마다 tmp에 포함된 원소를 제외한 배열을 함께 보내서 답을 구하는 식으로 아래 코드를 구현했습니다!!
이렇게 구현한다면 강사님의 코드와 비교했을 때 시간이 오래 걸린다던가 하는 문제가 있을까요??
function solution(arr, n) {
let answer = [];
let tmp = Array.from({ length: n }, () => 0);
function DFS(L, arr) {
if (L === n) {
answer.push(tmp.slice());
} else {
for (let x of arr) {
tmp[L] = x;
let duplArr = arr.slice();
duplArr.splice(duplArr.indexOf(x), 1);
DFS(L + 1, duplArr);
}
}
}
DFS(0, arr);
return answer;
}