Ctrl K

Значение римского числа

Лёгкая
На циферблатах, в номерах глав и в титрах старых фильмов до сих пор встречаются римские числа. Они записываются семью буквами: | Буква | Значение | |---|---| | I | 1 | | V | 5 | | X | 10 | | L | 50 | | C | 100 | | D | 500 | | M | 1000 | Обычно буквы идут от больших к меньшим, и их значения складываются: XVI = 10 + 5 + 1 = 16. Но если меньшая буква стоит прямо перед большей, она вычитается. Так бывает ровно в шести случаях: - IV = 4 и IX = 9, - XL = 40 и XC = 90, - CD = 400 и CM = 900. Дана строка numeral — правильно записанное римское число. Верните его значение.
Пример 1
numeral="XLVII" → 47

XL = 40 (X перед L вычитается), затем V = 5 и II = 2: всего 47.

Пример 2
numeral="MMXXIV" → 2024

MM = 2000, XX = 20, IV = 4: получается 2024.

Пример 3
numeral="CDXC" → 490
Ограничения
  • 1 ≤ len(numeral) ≤ 15
  • numeral состоит только из букв I, V, X, L, C, D, M
  • numeral — корректная римская запись числа от 1 до 3999
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЧисло римскими цифрами СредняяЗапись дроби десятичной СредняяЦифры из перемешанных слов СредняяУпрощение многочлена с буквами СложнаяКуски с одинаковыми краями Средняя
загружаем Python…
Вход
numeral="XLVII"
Ожидается
47

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 90 тестов на сервере, включая скрытые.