강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của kmj060304080
kmj060304080

câu hỏi đã được viết

Giới thiệu về giải quyết vấn đề thuật toán JavaScript (chuẩn bị cho bài kiểm tra mã hóa)

10. Tìm hoán vị

질문 드립니다 !!

Viết

·

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

Câu trả lời 2

0

kmj06030님의 프로필 이미지
kmj06030
Người đặt câu hỏi

넵 감사합니다 !!

0

codingcamp님의 프로필 이미지
codingcamp
Người chia sẻ kiến thức

안녕하세요^^

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

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

Hình ảnh hồ sơ của kmj060304080
kmj060304080

câu hỏi đã được viết

Đặt câu hỏi