diff --git a/doitchuu/ContainsDuplicate.js b/doitchuu/ContainsDuplicate.js new file mode 100644 index 0000000..62dce10 --- /dev/null +++ b/doitchuu/ContainsDuplicate.js @@ -0,0 +1,10 @@ +/** + * @param {number[]} nums + * @return {boolean} + */ +var containsDuplicate = function(nums) { + const arrLength = nums.length; + const set = new Set(nums); + + return arrLength !== set.size; +}; diff --git a/doitchuu/RomanToInteger.js b/doitchuu/RomanToInteger.js new file mode 100644 index 0000000..a28e8f2 --- /dev/null +++ b/doitchuu/RomanToInteger.js @@ -0,0 +1,29 @@ +/** + * @param {string} s + * @return {number} + */ +var romanToInt = function(s) { + const romanMap = { + "I": 1, + "V": 5, + "X": 10, + "L": 50, + "C": 100, + "D": 500, + "M": 1000 + }; + let sum = 0; + + for (let i = 0; i < s.length - 1; i++) { + const current = romanMap[s[i]]; + const next = romanMap[s[i + 1]]; + + if (current < next) { + sum -= current; + } else { + sum += current; + } + } + + return sum += romanMap[s[s.length - 1]]; +};