Menu
CoddyTech

Roman to Integer

I numeri romani usano sette simboli: I = 1, V = 5, X = 10, L = 50, C = 100, D = 500 e M = 1000. I simboli si scrivono dal più grande al più piccolo e si sommano, tranne in sei coppie sottrattive, in cui un simbolo più piccolo viene prima e viene sottratto da quello più grande: IV = 4, IX = 9, XL = 40, XC = 90, CD = 400 e CM = 900.

Ti viene dato un numero romano valido s. Restituisci l'intero che rappresenta.

Funzione

romanToInt(s: string) → integer
sstring
un numero romano valido in lettere maiuscole
Restituisceinteger
il valore del numerale, da 1 a 3999

Vincoli

  • 1 ≤ s.length ≤ 15
  • s contiene solo i caratteri I, V, X, L, C, D e M.
  • s è un numero romano valido per un valore da 1 a 3999.

Esempi

Input
s = "XXVII"
Output
27
Spiegazione
XX è 10 + 10, V è 5 e II è 1 + 1, quindi il totale è 27. Nessun simbolo è seguito da uno più grande, quindi ogni simbolo viene sommato.

lock icon+22 test nascosti all’invio

challenge icon

Per approfondire

Riesci a scrivere il procedimento inverso, convertendo un numero intero da 1 a 3999 nel suo numero romano?

Ripristina il codice
def romanToInt(s):
    # Scrivi il codice qui
Casi di test

Caso 1

Caso 2

Caso 3

Input

s = "XXVII"

Atteso

27