๐ฉ๐ปโ๐ป๋ฌธ์ ๋งํฌ
[์ธํ๋ฐ ์น์
8] ์์ด ๊ตฌํ๊ธฐ (Javascript)
์ ๋ฃ ๊ฐ์์ธ ๊ด๊ณ๋ก ๋ฌธ์ ์ค๋ช
์ ์๋ตํฉ๋๋ค.
โ๏ธIdea Sketch
2021-06-29
1. m๊ฐ ๋ฝ์์ ๋์ดํ๊ธฐ
- ์ค๋ณต ํ์ฉX
2. DFS ์ข ๋ฃ์กฐ๊ฑด
- DFS ๋งค๊ฐ๋ณ์ v : ๋ฝ๋ ํ์
- DFS(1); ์ด๊ธฐ๊ฐ
if (v > m) {
console.log(res);
return ;
}
3. DFS ๋ก์ง
- ์ค๋ณต์ ํ์ฉํ์ง ์๋ for()
- ๋ฐฉ๋ฒ 1. arr.includes() ์ฌ์ฉ
for (let i=0; i<arr.length; i++) {
if (!res.includes(arr[i])) {
res.push(arr[i]);
DFS(v+1);
res.pop();
}
}
- ๋ฐฉ๋ฒ 2. continue; ์ฌ์ฉ
for (let i = 0; i < arr.length; i++) {
if (res.includes(arr[i])) continue;
res.push(arr[i]);
DFS(v + 1);
res.pop();
}
โ๏ธ์์ค์ฝ๋
2021-06-29
let m = 2;
let arr = [3, 6, 9];
let res = [];
let cnt = 0;
function DFS(v) {
if (v > m) {
console.log(res.join(' '));
cnt++;
return;
}
for (let i = 0; i < arr.length; i++) {
if (res.includes(arr[i])) continue;
res.push(arr[i]);
DFS(v + 1);
res.pop();
}
}
DFS(1);
console.log(cnt);