From e08f860d6a44d59a5600139028180d83f29c419b Mon Sep 17 00:00:00 2001 From: sik9252 Date: Sun, 22 Mar 2026 17:43:56 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20Backspace=20String=20Compare=20?= =?UTF-8?q?=ED=92=80=EC=9D=B4=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sik9252/BackspaceStringCompare.js | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 sik9252/BackspaceStringCompare.js diff --git a/sik9252/BackspaceStringCompare.js b/sik9252/BackspaceStringCompare.js new file mode 100644 index 0000000..0155252 --- /dev/null +++ b/sik9252/BackspaceStringCompare.js @@ -0,0 +1,27 @@ +/** + * @param {string} s + * @param {string} t + * @return {boolean} + */ +var backspaceCompare = function (s, t) { + const calcS = calc(s); + const calcT = calc(t); + + return calcS === calcT; +}; + +var calc = function (str) { + const stack = []; + + for (let i = 0; i < str.length; i++) { + if (!stack.length && str[i] === "#") continue; + + if (str[i] === "#") { + stack.pop(); + } else { + stack.push(str[i]); + } + } + + return [...stack].join(""); +}; From decf124a5f258fe10c4699a9a909b43ef131b4ec Mon Sep 17 00:00:00 2001 From: sik9252 Date: Sun, 22 Mar 2026 17:44:07 +0900 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20Counting=20Bits=20=ED=92=80?= =?UTF-8?q?=EC=9D=B4=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sik9252/CountingBits.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 sik9252/CountingBits.js diff --git a/sik9252/CountingBits.js b/sik9252/CountingBits.js new file mode 100644 index 0000000..07510d7 --- /dev/null +++ b/sik9252/CountingBits.js @@ -0,0 +1,17 @@ +var countBits = function (n) { + const result = []; + + for (let i = 0; i <= n; i++) { + let num = i; + let count = 0; + + while (num > 0) { + num = num & (num - 1); + count++; + } + + result.push(count); + } + + return result; +};