Skip to content

Commit b1e98b5

Browse files
Create roman_to_integer.js
1 parent c1f3ecd commit b1e98b5

File tree

1 file changed

+47
-0
lines changed

1 file changed

+47
-0
lines changed

roman_to_integer.js

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
/**
2+
* @param {string} s
3+
* @return {number}
4+
*/
5+
var romanToInt = function(s) {
6+
let sum = 0;
7+
8+
let i = 0;
9+
10+
while(i < s.length) {
11+
switch(s[i]) {
12+
case "I":
13+
if(s[i + 1] === "V" || (s[i + 1] === "X"))
14+
sum -= 1;
15+
else
16+
sum += 1;
17+
break;
18+
case "V":
19+
sum += 5;
20+
break;
21+
case "X":
22+
if(s[i + 1] === "L" || s[i + 1] === "C")
23+
sum -= 10;
24+
else
25+
sum += 10;
26+
break;
27+
case "L":
28+
sum += 50;
29+
break;
30+
case "C":
31+
if(s[i + 1] === "D" || s[i + 1] === "M")
32+
sum -= 100;
33+
else
34+
sum += 100;
35+
break;
36+
case "D":
37+
sum += 500;
38+
break;
39+
case "M":
40+
sum += 1000;
41+
break;
42+
}
43+
i++;
44+
}
45+
46+
return sum;
47+
};

0 commit comments

Comments
 (0)