You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

28 lines
538 B

/**
* @param {string} s
* @return {number}
*/
var romanToInt = function(s) {
let numerals = {};
numerals['M'] = 1000;
numerals['D'] = 500;
numerals['C'] = 100;
numerals['L'] = 50;
numerals['X'] = 10;
numerals['V'] = 5;
numerals['I'] = 1;
let number = 0;
for (let i = 0; i < s.length; ++i){
let inRange = (i+1 < s.length);
if (numerals[s.charAt(i+1)] > numerals[s.charAt(i)]){
number -= numerals[s.charAt(i)];
} else {
number += numerals[s.charAt(i)];
}
}
return number;
};