Numerais romanos

Published by Mubashir Hassan in

Crie uma função que receba um numeral romano como string e o converta em um inteiro, retornando o resultado. A função deve funcionar para todos os numerais romanos que representem inteiros positivos menores que 4000.

A tabela a seguir mostra como os dígitos serão representados na notação de numerais romanos:

Valor posicional123456789
UnidadesIIIIIIIVVVIVIIVIIIIX
DezenasXXXXXXXLLLXLXXLXXXXC
CentenasCCCCCCCDDDCDCCDCCCCM
MilharesMMMMMM------

Exemplos

parse_roman_numeral("VII") ➞ 7

parse_roman_numeral("DCLXXIX") ➞ 679

parse_roman_numeral("MMMCMV") ➞ 3905

Observações

  • Todas as letras estarão em maiúsculas.
  • Considere que todas as entradas serão numerais romanos bem formados.
  • Embora você provavelmente pudesse resolver isso verificando separadamente cada uma dessas sequências dentro da string, existe uma maneira mais inteligente. Pense no valor numérico de cada letra individual e em como a letra imediatamente seguinte pode afetar o valor numérico dessa letra.