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