Connect with us

GitHub

Задачи с собеседований: римские цифры

Опубликовано

/

     
     

Получив целое число, преобразуйте его в римскую цифру.

Пример

Ввод: 3
Вывод: «III»

Ввод: 4
Вывод: «IV»

Ввод: 1994
Вывод: «MCMXCIV»

Решение

Смотреть

Эта задача, на самом деле, может быть решен довольно элегантно.

Сначала мы помещаем все возможные комбинации символов римских цифр и их целочисленных значений в упорядоченный словарь (по умолчанию в Python 3.6+ словари упорядочены).

Расположим их по порядку от большего к меньшему.

Затем мы перебираем наш словарь и для каждого целочисленного значения делим исходное число на это целочисленное значение символа.

Это говорит нам, сколько римских цифр в данном случае нам понадобится.

Например, 4000 будет представлено как ММММ.

4000/1000 = 4, значит 4 М.

Затем мы можем добавить количество символов римских цифр в наш массив символов (который представляет конечную римскую цифру).

После этого мы можем получить число в остатке.

Затем мы переходим к следующей паре римских цифр и целых чисел в нашем словаре.

Вот код Python 3:

Задачи с собеседований: римские цифры

Эта задача на LeetCode

← Еще задачи с собеседований

Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Advertisement

Популярное

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: