![notion image](https://www.notion.so/image/https%3A%2F%2Fs3.us-west-2.amazonaws.com%2Fsecure.notion-static.com%2Fd2e428c3-b661-430c-b8a6-a9e6fd744597%2FUntitled.png%3FX-Amz-Algorithm%3DAWS4-HMAC-SHA256%26X-Amz-Credential%3DAKIAT73L2G45O3KS52Y5%252F20211025%252Fus-west-2%252Fs3%252Faws4_request%26X-Amz-Date%3D20211025T151956Z%26X-Amz-Expires%3D86400%26X-Amz-Signature%3D01fccd9d25204f6c686f68ede4ffdd4a02d36bd907e8b5bded935ba9af25b101%26X-Amz-SignedHeaders%3Dhost?table=block&id=93f1fc1f-3801-429f-970a-c256410d6622&cache=v2)
์ด๋ฏธ ๋ฝ์ ๊ฑฐ ์ดํ๋ก๋ง ๋๋ฆฐ๋ค. [1,4]๋ [4,1]์ด๋ ๊ฐ์ผ๋ฏ๋ก
ย
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3.us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F802a9c46-9796-41bb-ac7b-dc9b444fe14a%2FUntitled.png%3FX-Amz-Algorithm%3DAWS4-HMAC-SHA256%26X-Amz-Credential%3DAKIAT73L2G45O3KS52Y5%252F20211025%252Fus-west-2%252Fs3%252Faws4_request%26X-Amz-Date%3D20211025T151956Z%26X-Amz-Expires%3D86400%26X-Amz-Signature%3De71ea270e37393041943d5dc239bacb4cf8023744ed2d46503acd6d9309f2fb0%26X-Amz-SignedHeaders%3Dhost?table=block&id=79d724e2-ad4c-4953-9621-f5b25efce77a&cache=v2)
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3.us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F500edb4e-1c3d-42bf-af3c-0fa38d95c469%2FUntitled.png%3FX-Amz-Algorithm%3DAWS4-HMAC-SHA256%26X-Amz-Credential%3DAKIAT73L2G45O3KS52Y5%252F20211025%252Fus-west-2%252Fs3%252Faws4_request%26X-Amz-Date%3D20211025T151956Z%26X-Amz-Expires%3D86400%26X-Amz-Signature%3Df3324e0676f85371f62eed0caf137c8c09577875f3fc39c9ef698d42cc99f067%26X-Amz-SignedHeaders%3Dhost?table=block&id=05ae0b61-4c8b-4297-aeaa-9bf5b73da440&cache=v2)
for๋ฌธ์ ๋ฝ๋ ๊ฐ์๊ฐ ๋ง์์ง ๋ ๋๋ฌด ์ค์ฒฉ๋๋ฏ๋ก ์ฌ๊ท๋ก ๊ตฌํํด๋ณผ ์ ์๋ค.
idx๋ ํ์ฌ ์์น์ ๋ํ ์ ๋ณด๋ค.
s๊ฐ ์ ํ๋ ๊ฐ์์ธ๋ฐ s๊ฐ ์ฆ๊ฐํ๋ค๊ฐ r์ด ๋๋ฉด ์ถ๋ ฅํ๊ณ return๋๋ค.
์ฌ๊ท์ ์ผ๋ก ํธ์ถ๋ ๋๋ง๋ค ์ ํ๋ ๊ฐ์ s๋ฅผ ์ฆ๊ฐ์ํค๊ณ ํ์ฌ ์์น idx๋ฅผ 1 ์ฆ๊ฐ์ํจ๋ค.
idx๊ฐ ์ฆ๊ฐ๋์์ผ๋ i๊ฐ์ ํ ๋น๋์ด ๋ฐฐ์ด์ ๊ฐ์์์ idx๋ฅผ ๋บ ๊ฐ๋ณด๋ค ๊ฐ๊ฑฐ๋ ์์ ๋ ๊ทผ๋ฐ ์ด ๋ฒ์ ์ค์ ์ด ์ง๊ด์ ์ด์ง ์์์ ๋๋ ์๋์ฒ๋ผ ๊ตฌํํ์๋ค.
ย
function solution(n, m) {
let answer = [];
let tmp = Array.from({ length: m }, () => 0);
let input = [10, 20, 30, 40];
// * : ๋ ๋ฒจ์ด m์ด ๋๋ฉด ๋ฉ์ถค(m๊ฐ ๋ฝ์ ๊ฒ, m๊ฐ ๊ฐ์ง ๋ป์), s๋ 1~4
function DFS(L, s) {
if (L === m) {
answer.push(tmp.slice());
} else {
for (let i = s; i < n; i++) {
tmp[L] = input[i];
DFS(L + 1, i + 1);
}
}
}
DFS(0, 0);
console.log(answer);
return answer;
}
solution(4,2);
![notion image](https://www.notion.so/image/https%3A%2F%2Fs3.us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F4e0ea6f9-db3d-42ef-af4d-d47bea1f177f%2FUntitled.png%3FX-Amz-Algorithm%3DAWS4-HMAC-SHA256%26X-Amz-Credential%3DAKIAT73L2G45O3KS52Y5%252F20211025%252Fus-west-2%252Fs3%252Faws4_request%26X-Amz-Date%3D20211025T151956Z%26X-Amz-Expires%3D86400%26X-Amz-Signature%3D3b6f59b521d58ee2994ba5873523c0226322b5afadbf4982ceb9e9812f737b0c%26X-Amz-SignedHeaders%3Dhost?table=block&id=4a2428ef-3a12-4cc3-9feb-6f31880752aa&cache=v2)
ย