diff --git a/number-of-1-bits/lhc0506.js b/number-of-1-bits/lhc0506.js new file mode 100644 index 000000000..e204ad139 --- /dev/null +++ b/number-of-1-bits/lhc0506.js @@ -0,0 +1,10 @@ +/** + * @param {number} n + * @return {number} + */ +var hammingWeight = function(n) { + return [...(n).toString(2)].reduce((acc, cur) => cur === '1' ? acc + 1 : acc, 0); +}; + +//시간 복잡도 : O(logn) +//공간 복잡도 : O(logn) diff --git a/valid-palindrome/lhc0506.js b/valid-palindrome/lhc0506.js new file mode 100644 index 000000000..fcf935771 --- /dev/null +++ b/valid-palindrome/lhc0506.js @@ -0,0 +1,18 @@ +/** + * @param {string} s + * @return {boolean} + */ +var isPalindrome = function(s) { + const filteredLowercaseChars = [...s.toLowerCase()].filter(char => (char.charCodeAt() >= 97 && char.charCodeAt() <= 122) || (char.charCodeAt() >= 48 && char.charCodeAt() <= 57)); + + const filteredLowercaseCharsLength = filteredLowercaseChars.length; + + for (let i = 0; i < filteredLowercaseCharsLength / 2; i++) { + if (filteredLowercaseChars[i] !== filteredLowercaseChars[filteredLowercaseCharsLength - 1 - i]) return false; + } + + return true; +}; + +// 시간 복잡도 : O(n) +// 공간 복잡도 : O(n)