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
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;
|
|
};
|
|
|