https://leetcode.com/problems/roman-to-integer/
class Solution {
public:
int romanToInt(string s) {
int outs=0, last=1003;
for(auto bt : s)
{
switch (bt)
{
case 'I':
if (last>=1)
{
outs=outs+1;
last=1;
}
else
{
outs=outs+1-2*last;
last=1;
}
break;
case 'V':
if (last >= 5)
{
outs=outs+5;
last=5;
}
else
{
outs=outs+5-2*last;
last=5;
}
break;
case 'X':
if (last>=10)
{
outs=outs+10;
last=10;
}
else
{
outs=outs+10-2*last;
last=10;
}
break;
case 'L':
if (last>=50)
{
outs=outs+50;
last=50;
}
else
{
outs=outs+50-2*last;
last=50;
}
break;
case 'C':
if (last>=100)
{
outs=outs+100;
last=100;
}
else
{
outs=outs+100-2*last;
last=100;
}
break;
case 'D':
if (last>=500)
{
outs=outs+500;
last=500;
}
else
{
outs=outs+500-2*last;
last=500;
}
break;
case 'M':
if (last >= 1000)
{
outs=outs+1000;
last=1000;
}
else
{
outs=outs+1000-2*last;
last=1000;
}
break;
}
}
return outs;
}
};