Os algarismos romanos são representados por sete símbolos diferentes : I, V, X, L, C, D e M.

Por exemplo, 2 é escrito como II em algarismo romano, apenas dois somados. 12 é escrito como XII, que é simplesmente X + II. O número 27 é escrito como XXVII, que é XX + V + II.
Os algarismos romanos geralmente são escritos do maior para o menor, da esquerda para a direita. No entanto, o numeral para quatro não é IIII. Em vez disso, o número quatro é escrito como IV. Como o um vem antes do cinco, nós o subtraímos, resultando em quatro. O mesmo princípio se aplica ao número nove, que é escrito como IX. Existem seis instâncias em que a subtração é usada:
Ipode ser colocado antes deV(5) eX(10) para fazer 4 e 9.Xpode ser colocado antes deL(50) eC(100) para fazer 40 e 90.Cpode ser colocado antes deD(500) eM(1000) para fazer 400 e 900.
Dado um numeral romano, converta-o para um número inteiro.
Exemplo 1:


Exemplo 3:

Restrições:

Você pode criar uma função que converte algarismos romanos em números inteiros usando o seguinte código em C#:
public class Solution {
public int RomanToInt(string s) {
Dictionary<char, int> map = new Dictionary<char, int>();
map.Add('I',1);
map.Add('V', 5);
map.Add('X', 10);
map.Add('L', 50);
map.Add('C', 100);
map.Add('D', 500);
map.Add('M', 1000);
char[] chars= s.ToCharArray();
int result = 0;
int temp = 0;
for (int i = 0; i < chars.Length; i++)
{
int j = i - 1;
if (i == 0)
{
temp= map[chars[i]];
result += temp;
continue;
}
else if (map[chars[j]] < map[chars[i]])
{
result-= temp;
result += map[chars[i]] - map[chars[j]];
temp = 0;
}
else
{
temp=map[chars[i]];
result += temp;
}
}
return result;
}
}
