Menu
CoddyTech

Roman to Integer

Os numerais romanos usam sete símbolos: I = 1, V = 5, X = 10, L = 50, C = 100, D = 500 e M = 1000. Os símbolos são escritos do maior para o menor e somados, exceto em seis pares subtrativos, nos quais um símbolo menor vem primeiro e é subtraído do maior: IV = 4, IX = 9, XL = 40, XC = 90, CD = 400 e CM = 900.

Você recebe um numeral romano válido s. Retorne o inteiro que ele representa.

Função

romanToInt(s: string) → integer
sstring
um numeral romano válido em letras maiúsculas
Retornainteger
o valor do numeral, de 1 a 3999

Restrições

  • 1 ≤ s.length ≤ 15
  • s contém apenas os caracteres I, V, X, L, C, D e M.
  • s é um numeral romano válido para um valor de 1 a 3999.

Exemplos

Entrada
s = "XXVII"
Saída
27
Explicação
XX é 10 + 10, V é 5 e II é 1 + 1, então o total é 27. Nenhum símbolo é seguido por um maior, então todos os símbolos são somados.

lock icon+22 testes ocultos ao enviar

challenge icon

Para ir além

Você consegue escrever o inverso, convertendo um número inteiro de 1 a 3999 em seu numeral romano?

Redefinir código
def romanToInt(s):
    # Escreva o código aqui
Casos de teste

Caso 1

Caso 2

Caso 3

Entrada

s = "XXVII"

Esperado

27