From e0e92fb5498871994a270e6bf69ecdd07e021538 Mon Sep 17 00:00:00 2001 From: yenru0 Date: Mon, 12 Aug 2024 08:21:07 +0900 Subject: [PATCH] complete 2915.py --- zeta_python/completed/2915.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 zeta_python/completed/2915.py diff --git a/zeta_python/completed/2915.py b/zeta_python/completed/2915.py new file mode 100644 index 0000000..046b6be --- /dev/null +++ b/zeta_python/completed/2915.py @@ -0,0 +1,31 @@ +# I V X L C +ROMANS = [None] * 100 + +ROMANS_COUNTER = [None] * 100 + + +def roman_counter(symbol: str) -> tuple: + return tuple(symbol.count(char) for char in ("I", "V", "X", "L", "C")) + + +def roman_convertor(num: int) -> str: + # fmt: off + return ("", "X", "XX", "XXX", "XL", "L", "LX", "LXX", "LXXX", "XC")[num // 10] \ + + ("", "I", "II", "III", "IV", "V", "VI", "VII", "VIII", "IX")[num % 10] + # fmt: on + + +if __name__ == "__main__": + roman = input() + + for i in range(100): + temp = roman_convertor(i) + ROMANS[i] = temp + ROMANS_COUNTER[i] = roman_counter(temp) + + count = roman_counter(roman) + + for i in range(100): + if ROMANS_COUNTER[i] == count: + print(ROMANS[i]) + break