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:

Dado um numeral romano, converta-o para um número inteiro.

Exemplo 1:

Exemplo 2:

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; 
    }
}