From 7fee1c6e6ab5a671e455ab25f7efd4d2d0e41437 Mon Sep 17 00:00:00 2001 From: choidabom Date: Wed, 11 Dec 2024 14:30:46 +0900 Subject: [PATCH 1/3] 217. Contains Duplicate --- contains-duplicate/choidabom.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 contains-duplicate/choidabom.js diff --git a/contains-duplicate/choidabom.js b/contains-duplicate/choidabom.js new file mode 100644 index 000000000..a5de8360c --- /dev/null +++ b/contains-duplicate/choidabom.js @@ -0,0 +1,17 @@ +/** + * Runtime: 17ms, Memory: 63.18MB + * + * Time Complexity: O(n) + * - Array to Set takes O(n) + * - Compare Set size and array length takes O(1) + * Space Complexity: O(n) + * - Space for Set : O(n) +*/ + +/** + * @param {number[]} nums + * @return {boolean} + */ +var containsDuplicate = function(nums) { + return new Set(nums).size !== nums.length +}; \ No newline at end of file From 2e471ad00ca5e71815b5ef46fbdef6f68fcfdf90 Mon Sep 17 00:00:00 2001 From: choidabom Date: Wed, 11 Dec 2024 14:42:40 +0900 Subject: [PATCH 2/3] =?UTF-8?q?fix:=20lint=20error=20(=EC=A4=84=EB=B0=94?= =?UTF-8?q?=EA=BF=88)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- contains-duplicate/choidabom.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contains-duplicate/choidabom.js b/contains-duplicate/choidabom.js index a5de8360c..9d21f159e 100644 --- a/contains-duplicate/choidabom.js +++ b/contains-duplicate/choidabom.js @@ -14,4 +14,4 @@ */ var containsDuplicate = function(nums) { return new Set(nums).size !== nums.length -}; \ No newline at end of file +}; From db404bae1ef98fdd44915725460835977e5ed65a Mon Sep 17 00:00:00 2001 From: choidabom Date: Fri, 13 Dec 2024 12:40:14 +0900 Subject: [PATCH 3/3] 220. Valid Palindrome --- valid-palindrome/choidabom.js | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 valid-palindrome/choidabom.js diff --git a/valid-palindrome/choidabom.js b/valid-palindrome/choidabom.js new file mode 100644 index 000000000..fc89ccc53 --- /dev/null +++ b/valid-palindrome/choidabom.js @@ -0,0 +1,28 @@ +/** + * Runtime: 7ms, Memory: 55.02MB + * + * Time Complexity: O(n) + * Space Complexity: O(n) +*/ + +/** + * @param {string} s + * @return {boolean} + */ +function isPalindrome(s) { + const alphanumeric = getAlphanumeric(s) + return alphanumeric === alphanumeric.split("").reverse().join("") +} + +function getAlphanumeric(string) { + const number = /[0-9]/ + const alphabet = /[a-zA-Z]/ + let alphanumeric = [] + + for (const str of string) { + if (number.test(str) || alphabet.test(str)) { + alphanumeric.push(str) + } + } + return alphanumeric.join("").toLowerCase() +}