From 19ce224d292a6739e55142384c8d069817426ddc Mon Sep 17 00:00:00 2001 From: seolsis Date: Thu, 21 Nov 2024 15:16:13 +0900 Subject: [PATCH 1/3] =?UTF-8?q?=EC=9D=B4=EC=A7=84=ED=8A=B8=EB=A6=AC?= =?UTF-8?q?=EC=88=9C=ED=9A=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../index.js" | 31 ++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git "a/08. \354\236\254\352\267\200\355\225\250\354\210\230\354\231\200 \354\231\204\354\240\204\355\203\220\354\203\211(DFS;\352\271\212\354\235\264\354\232\260\354\204\240\355\203\220\354\203\211)/03. \354\235\264\354\247\204\355\212\270\353\246\254\354\210\234\355\232\214/\353\260\261\354\247\200\354\233\220/index.js" "b/08. \354\236\254\352\267\200\355\225\250\354\210\230\354\231\200 \354\231\204\354\240\204\355\203\220\354\203\211(DFS;\352\271\212\354\235\264\354\232\260\354\204\240\355\203\220\354\203\211)/03. \354\235\264\354\247\204\355\212\270\353\246\254\354\210\234\355\232\214/\353\260\261\354\247\200\354\233\220/index.js" index 313e304f..b442c14d 100644 --- "a/08. \354\236\254\352\267\200\355\225\250\354\210\230\354\231\200 \354\231\204\354\240\204\355\203\220\354\203\211(DFS;\352\271\212\354\235\264\354\232\260\354\204\240\355\203\220\354\203\211)/03. \354\235\264\354\247\204\355\212\270\353\246\254\354\210\234\355\232\214/\353\260\261\354\247\200\354\233\220/index.js" +++ "b/08. \354\236\254\352\267\200\355\225\250\354\210\230\354\231\200 \354\231\204\354\240\204\355\203\220\354\203\211(DFS;\352\271\212\354\235\264\354\232\260\354\204\240\355\203\220\354\203\211)/03. \354\235\264\354\247\204\355\212\270\353\246\254\354\210\234\355\232\214/\353\260\261\354\247\200\354\233\220/index.js" @@ -1,6 +1,35 @@ function solution(n) { - let answer = ''; + let answer = { + preOrder: "", + postOrder: "", + }; + const tree = { + 1: [2, 3], + 2: [4, 5], + 3: [6, 7], + 4: [null, null], + 5: [null, null], + 6: [null, null], + 7: [null, null], + }; + + function preOrder(node) { + if (!node) return; // 기저조건 + answer.preOrder += node + " "; // 현재 노드 번호 추가 + preOrder(tree[node][0]); // 왼쪽 자식을 재귀 호출 + preOrder(tree[node][1]); // 오른쪽 자식을 재귀 호출 + } + + function postOrder(node) { + if (!node) return; + postOrder(tree[node][0]); + postOrder(tree[node][1]); + answer.postOrder += node + " "; + } + + preOrder(n); + postOrder(n); return answer; } From 9e23cbaba77835dd95e6b8cdbe1fb6f1059b4987 Mon Sep 17 00:00:00 2001 From: seolsis Date: Thu, 28 Nov 2024 22:45:01 +0900 Subject: [PATCH 2/3] =?UTF-8?q?8-4.=20=EB=B6=80=EB=B6=84=EC=A7=91=ED=95=A9?= =?UTF-8?q?=20=EA=B5=AC=ED=95=98=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../index.js" | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git "a/08. \354\236\254\352\267\200\355\225\250\354\210\230\354\231\200 \354\231\204\354\240\204\355\203\220\354\203\211(DFS;\352\271\212\354\235\264\354\232\260\354\204\240\355\203\220\354\203\211)/04. \353\266\200\353\266\204\354\247\221\355\225\251 \352\265\254\355\225\230\352\270\260/\353\260\261\354\247\200\354\233\220/index.js" "b/08. \354\236\254\352\267\200\355\225\250\354\210\230\354\231\200 \354\231\204\354\240\204\355\203\220\354\203\211(DFS;\352\271\212\354\235\264\354\232\260\354\204\240\355\203\220\354\203\211)/04. \353\266\200\353\266\204\354\247\221\355\225\251 \352\265\254\355\225\230\352\270\260/\353\260\261\354\247\200\354\233\220/index.js" index 9433439d..3ac716e6 100644 --- "a/08. \354\236\254\352\267\200\355\225\250\354\210\230\354\231\200 \354\231\204\354\240\204\355\203\220\354\203\211(DFS;\352\271\212\354\235\264\354\232\260\354\204\240\355\203\220\354\203\211)/04. \353\266\200\353\266\204\354\247\221\355\225\251 \352\265\254\355\225\230\352\270\260/\353\260\261\354\247\200\354\233\220/index.js" +++ "b/08. \354\236\254\352\267\200\355\225\250\354\210\230\354\231\200 \354\231\204\354\240\204\355\203\220\354\203\211(DFS;\352\271\212\354\235\264\354\232\260\354\204\240\355\203\220\354\203\211)/04. \353\266\200\353\266\204\354\247\221\355\225\251 \352\265\254\355\225\230\352\270\260/\353\260\261\354\247\200\354\233\220/index.js" @@ -1,6 +1,22 @@ function solution(n) { let answer = []; + let subset = []; // 현재까지 선택된 부분 집합 + // L: 현재 원소 번호 + function DFS(L) { + if (L === N + 1) { + // 모든 원소를 탐색한 경우 + answer.push([...subset]); + } else { + subset.push(L); + DFS(L + 1); + + subset.pop(); + DFS(L + 1); + } + } + + DFS(1); return answer; } From 3d03c96b335c76b1797d3a91decb72f6c08d54fe Mon Sep 17 00:00:00 2001 From: seolsis Date: Thu, 28 Nov 2024 22:51:03 +0900 Subject: [PATCH 3/3] =?UTF-8?q?8-4.=20=EB=B6=80=EB=B6=84=EC=A7=91=ED=95=A9?= =?UTF-8?q?=20=EA=B5=AC=ED=95=98=EA=B8=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../\353\260\261\354\247\200\354\233\220/index.js" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/08. \354\236\254\352\267\200\355\225\250\354\210\230\354\231\200 \354\231\204\354\240\204\355\203\220\354\203\211(DFS;\352\271\212\354\235\264\354\232\260\354\204\240\355\203\220\354\203\211)/04. \353\266\200\353\266\204\354\247\221\355\225\251 \352\265\254\355\225\230\352\270\260/\353\260\261\354\247\200\354\233\220/index.js" "b/08. \354\236\254\352\267\200\355\225\250\354\210\230\354\231\200 \354\231\204\354\240\204\355\203\220\354\203\211(DFS;\352\271\212\354\235\264\354\232\260\354\204\240\355\203\220\354\203\211)/04. \353\266\200\353\266\204\354\247\221\355\225\251 \352\265\254\355\225\230\352\270\260/\353\260\261\354\247\200\354\233\220/index.js" index 3ac716e6..d9fb2986 100644 --- "a/08. \354\236\254\352\267\200\355\225\250\354\210\230\354\231\200 \354\231\204\354\240\204\355\203\220\354\203\211(DFS;\352\271\212\354\235\264\354\232\260\354\204\240\355\203\220\354\203\211)/04. \353\266\200\353\266\204\354\247\221\355\225\251 \352\265\254\355\225\230\352\270\260/\353\260\261\354\247\200\354\233\220/index.js" +++ "b/08. \354\236\254\352\267\200\355\225\250\354\210\230\354\231\200 \354\231\204\354\240\204\355\203\220\354\203\211(DFS;\352\271\212\354\235\264\354\232\260\354\204\240\355\203\220\354\203\211)/04. \353\266\200\353\266\204\354\247\221\355\225\251 \352\265\254\355\225\230\352\270\260/\353\260\261\354\247\200\354\233\220/index.js" @@ -4,7 +4,7 @@ function solution(n) { // L: 현재 원소 번호 function DFS(L) { - if (L === N + 1) { + if (L === n + 1) { // 모든 원소를 탐색한 경우 answer.push([...subset]); } else {