From 972ba03bbd66ea45dfc6ca4b44df13c85036b867 Mon Sep 17 00:00:00 2001 From: RiaOh Date: Sat, 12 Apr 2025 16:14:55 +0900 Subject: [PATCH 1/4] valid anagram solution --- valid-anagram/RiaOh.js | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 valid-anagram/RiaOh.js diff --git a/valid-anagram/RiaOh.js b/valid-anagram/RiaOh.js new file mode 100644 index 000000000..758178bed --- /dev/null +++ b/valid-anagram/RiaOh.js @@ -0,0 +1,10 @@ +/** + * @param {string} s + * @param {string} t + * @return {boolean} + */ +var isAnagram = function (s, t) { + let resultS = [...s].sort(); + let resultT = [...t].sort(); + return resultS.join() === resultT.join(); +}; From ce9335430d7724b09f09053859c66bedd6488907 Mon Sep 17 00:00:00 2001 From: RiaOh Date: Sat, 12 Apr 2025 16:16:56 +0900 Subject: [PATCH 2/4] climbing stairs solution --- climbing-stairs/RiaOh.js | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 climbing-stairs/RiaOh.js diff --git a/climbing-stairs/RiaOh.js b/climbing-stairs/RiaOh.js new file mode 100644 index 000000000..30b1f42ce --- /dev/null +++ b/climbing-stairs/RiaOh.js @@ -0,0 +1,11 @@ +/** + * @param {number} n + * @return {number} + */ +var climbStairs = function (n) { + const arr = [1, 2]; + for (let i = 2; i <= n - 1; i++) { + arr[i] = arr[i - 2] + arr[i - 1]; + } + return arr[n - 1]; +}; From 7a62e07a7e2d24b094972798a44ca588adf565f0 Mon Sep 17 00:00:00 2001 From: RiaOh Date: Sat, 12 Apr 2025 16:18:53 +0900 Subject: [PATCH 3/4] product of array except self solution --- product-of-array-except-self/RiaOh.js | 31 +++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 product-of-array-except-self/RiaOh.js diff --git a/product-of-array-except-self/RiaOh.js b/product-of-array-except-self/RiaOh.js new file mode 100644 index 000000000..8676a2d1b --- /dev/null +++ b/product-of-array-except-self/RiaOh.js @@ -0,0 +1,31 @@ +/** + * @param {number[]} nums + * @return {number[]} + */ +var productExceptSelf = function (nums) { + // [-1,1,0,-3,3] + if (!nums.includes(0)) { + const allNumsProduct = nums.reduce((acc, cur) => acc * cur); + return nums.map((num) => allNumsProduct / num); + } else { + let arr = []; + for (let i = 0; i < nums.length; i++) { + if (nums[i] !== 0) { + arr[i] = 0; + } else { + console.log("여기는?"); + const newArr = [...nums]; + newArr.splice(i, 1); + console.log("newArr ==>", newArr); + if (newArr.includes(0)) { + arr[i] = 0; + } else { + const product = newArr.reduce((arr, cur) => arr * cur); + console.log("product ==>", product); + arr[i] = product; + } + } + } + return arr; + } +}; From 5c7a0bd6f954bb7da4e61f74dc36b9c6d939bbba Mon Sep 17 00:00:00 2001 From: RiaOh Date: Fri, 18 Apr 2025 23:59:40 +0900 Subject: [PATCH 4/4] valid-palindrome solution --- number-of-1-bits/RiaOh.js | 15 +++++++++++++++ valid-palindrome/RiaOh.js | 30 ++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 number-of-1-bits/RiaOh.js create mode 100644 valid-palindrome/RiaOh.js diff --git a/number-of-1-bits/RiaOh.js b/number-of-1-bits/RiaOh.js new file mode 100644 index 000000000..7e1971c36 --- /dev/null +++ b/number-of-1-bits/RiaOh.js @@ -0,0 +1,15 @@ +/** + * @param {number} n + * @return {number} + */ +var hammingWeight = function (n) { + const binary = n.toString(2); + const arr = [...binary]; + let count = 0; + arr.map((num) => { + if (num === "1") { + count++; + } + }); + return count; +}; diff --git a/valid-palindrome/RiaOh.js b/valid-palindrome/RiaOh.js new file mode 100644 index 000000000..a90f50550 --- /dev/null +++ b/valid-palindrome/RiaOh.js @@ -0,0 +1,30 @@ +/** + * @param {string} s + * @return {boolean} + */ +var isPalindrome = function (s) { + const arr = [...s]; + let text = ""; + for (let i = 0; i < arr.length; i++) { + if (isAlphabet(arr[i]) === true && arr[i] !== " ") { + text = text + arr[i].toLowerCase(); + } else if (isNumeric(arr[i]) === true && arr[i] !== " ") { + text = text + arr[i]; + } + } + console.log("text -->", text); + for (let i = 0; i < text.length / 2; i++) { + if (text[i] !== text[text.length - 1 - i]) { + return false; + } + } + return true; +}; + +function isAlphabet(char) { + return /[a-zA-Z]/.test(char); +} + +function isNumeric(str) { + return !isNaN(str); +}