Skip to content
Algorithm.js | Algorithm in JavaScript
📚 단일 패턴

46. Permutations

백트래킹으로 경로를 구성하고 남은 숫자를 재귀적으로 순회하며 모든 순열을 생성하는 방법

Oct 22, 2025

문제 설명

풀이 아이디어

해결 전략

풀이

구현

/**
* @param {number[]} nums
* @return {number[][]}
*/
var permute = function(nums) {
const N = nums.lenght;
const result = [];
const backtrack = (paths, remain) => {
if (remain.length === 0) {
result.push(paths.slice());
return;
}
for (const [ i, num ] of remain.entries()) {
paths.push(num);
backtrack(paths, [ ...remain.slice(0, i), ...remain.slice(i + 1) ]);
paths.pop();
}
}
backtrack([], nums);
return result;
};