강의

멘토링

커뮤니티

Inflearn コミュニティ Q&A

kmj060304080 のプロフィール画像
kmj060304080

投稿した質問数

JavaScriptアルゴリズムの問​​題プール入門(コーディングテストに比べ)

10. 順列を求める

질문 드립니다 !!

作成

·

337

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;
}
javascript코딩-테스트

回答 2

0

kmj06030님의 프로필 이미지
kmj06030
質問者

넵 감사합니다 !!

0

codingcamp님의 프로필 이미지
codingcamp
インストラクター

안녕하세요^^

재귀안에서 splice나 indexOf를 사용하는게 속도가 느려지는 효과가 있습니다.

영상에서 하는 방법을 추천합니다.

kmj060304080 のプロフィール画像
kmj060304080

投稿した質問数

質問する