1
class Solution {
2
public int romanToInt(String s) {
3
int res = 0;
4
// Let s = "IV" after traversing string res will be 6
5
// Let s= "IX" after traversing string res will be 11
6
for (int i = 0; i < s.length(); i++) {
7
switch (s.charAt(i)) {
8
case 'I':
9
res = res + 1;
10
break;
11
case 'V':
12
res = res + 5;
13
break;
14
case 'X':
15
res += 10;
16
break;
17
case 'L':
18
res += 50;
19
break;
20
case 'C':
21
res += 100;
22
break;
23
case 'D':
24
res += 500;
25
break;
26
case 'M':
27
res += 1000;
28
break;
29
}
30
}
31
// Since s= "IV" it satisfies first condition and 2 is subtracted from res. res=4
32
// Since s= "IX" it satisfies first condition and 2 is subtracted from res. res=9
33
if (s.contains("IV") || s.contains("IX")) res = res - 2;
34
if (s.contains("XL") || s.contains("XC")) res = res - 20;
35
if (s.contains("CD") || s.contains("CM")) res = res - 200;
36

37
return res;
38
}
39
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0