๐ง ์ ์ถ
let [N, M] = require('fs').readFileSync(0).toString().trim().split(' ');
let arr = [];
function dfs() {
if (arr.length == M) {
console.log(arr.join(' '));
return;
}
for (let i = 1; i <= N; i++) {
if (!arr.includes(i)) {
arr.push(i);
dfs();
arr.pop();
}
}
}
dfs();
๐๏ธ ๊ณผ์
์ผ๋จ ๋ฐฑํธ๋ํน์ด ๋ญ๊ฐ ํด์ ์ฐพ์๋ณด๋ ์ฌ๊ท์ ์ผ๋ก ํ๋ค๊ฐ ์กฐ๊ฑด์ ๋ง์ง ์์ผ๋ฉด ๊ฐ์ง์น๊ธฐ(์ด๊ฒ ๋ฐฑํธ๋ํน)ํด์ ์ด์ ์ผ๋ก ๋์๊ฐ๊ณ , ๋ ๋ค์ ์ฌ๊ท์ ์ผ๋ก ํธ๋ ๊ฒ์ ๋ฐ๋ณตํ๋ ๊ฒ์ผ๋ก ๋ณด์๋ค.
๊ทธ๋์ ํจ์๋ฅผ ํ๋ ๋ง๋ค๊ณ , ๊ทธ ์์์ ํ ์ค์ฉ ๋์ถํด์ฃผ๋ ๋ฐ๋ณต๋ฌธ๊ณผ ๋ฐ๋ณต๋ฌธ์ ์ข ๋ฃ์กฐ๊ฑด์ ์ค์ ํ๋ค. ์์๋ ๋ค์๊ณผ ๊ฐ๋ค.
๋จผ์ ๋ฐ๋ณต๋ฌธ์์๋ 1, 2, .. N๊น์ง ์์๋๋ก ํ๋์ฉ arr์ ์๋์ง ์ฒดํฌํ๊ณ (์ค๋ณต ์ฒดํฌ) ๋น๋ฐฐ์ด arr์ ๋ฃ๋ ๊ฒ์ ์ฌ๊ท๋ก ๋ฐ๋ณตํจ์ผ๋ก์ M๊ฐ์ ์์๋ฅผ ๊ฐ์ง ๋ฐฐ์ด๋ก ๋ง๋ค์ด์ค๋ค.
๊ทธ๋ฆฌ๊ณ ์ข ๋ฃ์กฐ๊ฑด์ N,M์ด ์ฃผ์ด์ง ๋ ํ์ค์ M๊ฐ์ฉ ์ค๋ฐ๊ฟ ๋์ด์ผํ๋๊น arr.length==M์ด ๋๋ฉด console๋ก ์ฐ์ด์ค๋ค.
๊ทธ๋ฆฌ๊ณ ์ฌ๊ท๊ฐ ๋๋๋ฉด pop์ผ๋ก arr์ ๋น๋ฐฐ์ด๋ก ๋ง๋ค์ด์ ์ฒซ๋ฒ์งธ ์์๋ถํฐ ๋ค์ i๋ก ์์ํ ์ ์๊ฒ ํ๋ค.
'baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค_2108: ํต๊ณํ (node.js/JavaScript) (0) | 2024.08.20 |
---|---|
๋ฐฑ์ค_1735: ๋ถ์ ํฉ (node.js/JavaScript) (0) | 2024.08.20 |
๋ฐฑ์ค_25192 : ์ธ์ฌ์ฑ ๋ฐ์ ๊ณฐ๊ณฐ์ด (node.js/JavaScript) (0) | 2024.08.13 |
๋ฐฑ์ค_13909: ์ฐฝ๋ฌธ๋ซ๊ธฐ (node.js/JavaScript) (0) | 2024.08.13 |
๋ฐฑ์ค_17103: ๊ณจ๋๋ฐํ ํํฐ์ (node.js/JavaScript) (0) | 2024.08.08 |