๐ฉ๐ปโ๐ป๋ฌธ์ ๋งํฌ
[์ธํ๋ฐ ์น์
8] ์กฐํฉ ๊ตฌํ๊ธฐ (Javascript)
์ ๋ฃ ๊ฐ์์ธ ๊ด๊ณ๋ก ๋ฌธ์ ์ค๋ช
์ ์๋ตํฉ๋๋ค.
โ๏ธIdea Sketch
2021-06-30
1. M๊ฐ๋ฅผ ๋ฝ๋ ๋ฐฉ๋ฒ์ ์๋ฅผ ๊ตฌํ๊ธฐ
2. DFS ์ข ๋ฃ์กฐ๊ฑด
- DFS ๋งค๊ฐ๋ณ์ v : ๊ตฌ์ฌ ๋ฝ์ ํ์
- v >= m ์ด๋ฉด return
3. DFS ๋ด๋ถ๋ก์ง
- let res = []
- v๋ ๋ฝ๋ ํ์ ์ด๋ฏ๋ก ๋ฝ๋ ์ซ์๋ for ๋ฐ๋ณต๋ฌธ ์ฌ์ฉ
- [3, 4], [4, 3] ๊ฐ์ด ์ค๋ณตx
- ์ด์ ์ ๋ฝ์ ์ซ์์ ๋ณด ํ์ --> DFS ๋๋ฒ์งธ ๋งค๊ฐ๋ณ์ u
for (let i = u + 1; i <= n; i++) {
res.push(i);
DFS(v + 1, i);
res.pop();
}
โ๏ธ์์ค์ฝ๋
2021-06-30
let res = [];
let n = 4, m = 2;
let cnt = 0;
function DFS(v, u) {
if (v >= m) {
console.log(res.join(' '));
cnt++;
return;
}
for (let i = u + 1; i <= n; i++) {
res.push(i);
DFS(v + 1, i);
res.pop();
}
}
DFS(0, 0);
console.log(cnt);