diff --git a/sik9252/ClimbingStairs.js b/sik9252/ClimbingStairs.js new file mode 100644 index 0000000..570dc66 --- /dev/null +++ b/sik9252/ClimbingStairs.js @@ -0,0 +1,15 @@ +/** + * @param {number} n + * @return {number} + */ +var climbStairs = function (n) { + const dp = new Array(n + 1); + dp[1] = 1; + dp[2] = 2; + + for (let i = 3; i <= n; i++) { + dp[i] = dp[i - 1] + dp[i - 2]; + } + + return dp[n]; +}; diff --git a/sik9252/LongestPalindrome.js b/sik9252/LongestPalindrome.js new file mode 100644 index 0000000..eab6c7e --- /dev/null +++ b/sik9252/LongestPalindrome.js @@ -0,0 +1,23 @@ +/** + * @param {string} s + * @return {number} + */ +var longestPalindrome = function (s) { + const set = new Set(); + let length = 0; + + for (const char of s) { + if (set.has(char)) { + set.delete(char); + length += 2; + } else { + set.add(char); + } + } + + if (set.size > 0) { + length += 1; + } + + return length; +};