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]; +}; 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/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; + } +}; 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(); +}; 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); +}