Números romanos

Published by persolut in

Crea una función que reciba un número romano como cadena y lo convierta en un entero, devolviendo el resultado. La función debe funcionar para todos los números romanos que representen enteros positivos menores que 4000.

La siguiente tabla muestra cómo se representarán los dígitos en la notación de números romanos:

Valor posicional123456789
UnidadesIIIIIIIVVVIVIIVIIIIX
DecenasXXXXXXXLLLXLXXLXXXXC
CentenasCCCCCCCDDDCDCCDCCCCM
MillaresMMMMMM------

Ejemplos

ParseRomanNumeral("VII") ➞ 7

ParseRomanNumeral("DCLXXIX") ➞ 679

ParseRomanNumeral("MMMCMV") ➞ 3905

Notas

  • Todas las letras estarán en mayúsculas.
  • Supón que todas las entradas serán números romanos bien formados.
  • Aunque probablemente podrías resolver esto comprobando por separado cada una de estas secuencias dentro de la cadena, existe una forma más inteligente. Piensa en el valor numérico de cada letra individual y en cómo la letra que le sigue puede afectar al valor numérico de esa letra.