반응형
var permute_list = [];
function permute(_arr, _temp)
{
if (_temp.length === _arr.length)
{
permute_list.push(_temp.slice());
return;
}
_arr.forEach(num => {
if (!_temp.includes(num))
{
_temp.push(num);
permute(_arr, _temp);
_temp.pop();
}
});
}
permute([0, 1, 2], []);
console.log(permute_list);
/*
[
[ 0, 1, 2 ],
[ 0, 2, 1 ],
[ 1, 0, 2 ],
[ 1, 2, 0 ],
[ 2, 0, 1 ],
[ 2, 1, 0 ]
]
*/반응형
'Programing > Algorithm' 카테고리의 다른 글
| 병합 정렬 (Merge Sort) 설명과 JavaScript 예제 (1) | 2025.05.21 |
|---|---|
| 삽입 정렬 (Insertion Sort) 설명과 JavaScript 예제 (0) | 2025.05.21 |
| 선택 정렬 (Selection Sort) 설명과 JavaScript 예제 (0) | 2025.05.21 |
| 버블 정렬 (Bubble Sort) 설명과 JavaScript 예제 (0) | 2025.05.21 |
| LRU Cache (Least Recently Used) / 프로그래머스 캐시 (0) | 2022.01.19 |
| 콜라츠 추측 (0) | 2021.08.27 |
| 하샤드의 수 (Harshad Number) (0) | 2021.08.25 |
| 덧셈 뺄셈 동적 계산 (dynamic plus minus, Dynamic addition and subtraction) (0) | 2019.07.19 |