Menu
CoddyTech

Roman to Integer

W zapisie liczb rzymskich używa się siedmiu symboli: I = 1, V = 5, X = 10, L = 50, C = 100, D = 500 i M = 1000. Symbole zapisuje się od największego do najmniejszego i sumuje, z wyjątkiem sześciu par odejmowania, w których mniejszy symbol występuje jako pierwszy i odejmuje się go od większego: IV = 4, IX = 9, XL = 40, XC = 90, CD = 400 i CM = 900.

Otrzymujesz poprawną liczbę rzymską s. Zwróć liczbę całkowitą, którą ona oznacza.

Funkcja

romanToInt(s: string) → integer
sstring
poprawna liczba rzymska zapisana wielkimi literami
Zwracainteger
wartość liczby, od 1 do 3999

Ograniczenia

  • 1 ≤ s.length ≤ 15
  • s zawiera tylko znaki I, V, X, L, C, D i M.
  • s jest prawidłową cyfrą rzymską oznaczającą wartość od 1 do 3999.

Przykłady

Wejście
s = "XXVII"
Wyjście
27
Wyjaśnienie
XX to 10 + 10, V to 5, a II to 1 + 1, więc suma wynosi 27. Po żadnym symbolu nie występuje większy symbol, więc każdy symbol jest dodawany.

lock icon+22 ukrytych testów przy wysłaniu

challenge icon

Pytanie dodatkowe

Czy potrafisz napisać odwrotną funkcję, która zamienia liczbę całkowitą z zakresu od 1 do 3999 na jej zapis rzymski?

Zresetuj kod
def romanToInt(s):
    # Napisz tutaj kod
Przypadki testowe

Przypadek 1

Przypadek 2

Przypadek 3

Wejście

s = "XXVII"

Oczekiwane

27