๐ฉ๐ปโ๐ป๋ฌธ์ ๋งํฌ
[์ธํ๋ฐ ์น์
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);