Site icon AppTractor

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

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

Пример

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

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

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

Решение

Смотреть

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

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

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

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

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

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

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

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

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

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

Вот код Python 3:

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

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

Exit mobile version