From 1ee640fba593458c891012231a135486900145f5 Mon Sep 17 00:00:00 2001 From: Jeongmin Lee Date: Tue, 8 Apr 2025 13:32:09 +0900 Subject: [PATCH 1/3] valid-anagram solution --- valid-anagram/froggy1014.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 valid-anagram/froggy1014.js diff --git a/valid-anagram/froggy1014.js b/valid-anagram/froggy1014.js new file mode 100644 index 000000000..d5ce879c5 --- /dev/null +++ b/valid-anagram/froggy1014.js @@ -0,0 +1,18 @@ + +// 맵 자료 구조를 통해서 각 문자의 개수를 카운트 해서 비교 +var isAnagram = function (s, t) { + const map = new Map(); + + for (let i = 0; i < s.length; i++) { + map.set(s[i], (map.get(s[i]) || 0) + 1); + } + + for (let i = 0; i < t.length; i++) { + map.set(t[i], (map.get(t[i]) || 0) - 1); + } + + return Array.from(map.values()).every((value) => value === 0); +}; + +console.log(isAnagram("anagram", "nagaram")); +console.log(isAnagram("rat", "car")); From 9665155edc1f8f0ce7ed081e00d22abe9304b58d Mon Sep 17 00:00:00 2001 From: Jeongmin Lee Date: Wed, 16 Apr 2025 13:20:45 +0900 Subject: [PATCH 2/3] Add product-of-array-except-self solution --- product-of-array-except-self/froggy1014.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 product-of-array-except-self/froggy1014.js diff --git a/product-of-array-except-self/froggy1014.js b/product-of-array-except-self/froggy1014.js new file mode 100644 index 000000000..d43cf06ef --- /dev/null +++ b/product-of-array-except-self/froggy1014.js @@ -0,0 +1,21 @@ +/** + * @param {number[]} nums + * @return {number[]} + */ +var productExceptSelf = function (nums) { + const array = new Array(nums.length).fill(1); + + for (let i = 1; i < nums.length; i++) { + array[i] = array[i - 1] * nums[i - 1]; + } + + let right = 1; + for (let i = nums.length - 1; i >= 0; i--) { + array[i] = array[i] * right; + right *= nums[i]; + } + + return array; +}; + +console.log(productExceptSelf([1, 2, 3, 4])); From 41f23d70f0c0d52effc4178bc3f706b8f0936325 Mon Sep 17 00:00:00 2001 From: Jeongmin Lee Date: Wed, 16 Apr 2025 13:20:52 +0900 Subject: [PATCH 3/3] Add climb-stairs solution --- climbing-stairs/froggy1014.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 climbing-stairs/froggy1014.js diff --git a/climbing-stairs/froggy1014.js b/climbing-stairs/froggy1014.js new file mode 100644 index 000000000..f13ff0758 --- /dev/null +++ b/climbing-stairs/froggy1014.js @@ -0,0 +1,19 @@ +/** + * @param {number} n + * @return {number} + */ +var climbStairs = function(n) { + if (n === 1) return 1; + if (n === 2) return 2; + + let dp = new Array(n + 1).fill(0); + dp[1] = 1; + dp[2] = 2; + for (let i = 3; i <= n; i++) { + dp[i] = dp[i - 1] + dp[i - 2]; + } + return dp[n]; +}; + + +console.log(climbStairs(4));