Convert Roman numerals to integer numbers (C++)
int RomanToInteger(std::string roman)
{
std::map <char, int> romanChars;
romanChars['I'] = 1;
romanChars['V'] = 5;
romanChars['X'] = 10;
romanChars['L'] = 50;
romanChars['C'] = 100;
romanChars['D'] = 500;
romanChars['M'] = 1000;
int l = roman.length();
int prevValue = 1;
int number = 0;
for(int i = 0; i < roman.length(); i++)
{
int val = romanChars[roman[l - i - 1]];
if (val >= prevValue)
{
number += val;
}
else
{
number -= val;
}
prevValue = val;
}
return number;
}