성장에 목마른 코린이

순열 본문

코딩 테스트 준비

순열

성장하는 코린이 2022. 5. 3. 17:38
728x90

function test2(n, m) {
  // TODO: 여기에 코드를 작성하세요.
  let num = [];
  for (let i = 1; i <= n; i++) {
    num.push(i);
  }
  let ans = [];
  let t = '';
  let temp = Array.from({ length: m }, () => 0);
  let visited = Array.from({ length: n }, () => 0);

  function DFS(L) {
    if (L === m) {
      for (let i = 0; i < temp.length; i++) {
        t += temp[i];
      }
      ans.push(Number(t))
      t = '';
      // ans.push(...temp.slice());
    } else {
      for (let i = 0; i < n; i++) {
        if (!visited[i]) {
          visited[i] = 1  // 방문처리
          temp[L] = num[i];
          DFS(L + 1);
          visited[i] = 0  // 방문 후 다시 올라갈 때 원상복구
        }
      }
    }
  }

  DFS(0)
  return ans;
};

'코딩 테스트 준비' 카테고리의 다른 글

코테 모의고사 문제 2  (0) 2022.09.02
코테 모의고사 문제 1  (0) 2022.09.02
보드 게임  (0) 2022.05.03
GCD (최대공약수)  (0) 2022.05.03
Comments