From d872733763b10be7d3027fa2d1f7d4fc7c5918cb Mon Sep 17 00:00:00 2001 From: sangge-rockpi <2251250136@qq.com> Date: Fri, 19 Jan 2024 23:05:45 +0800 Subject: [PATCH] add leetcode 13 --- leetcode/13.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 leetcode/13.py diff --git a/leetcode/13.py b/leetcode/13.py new file mode 100644 index 0000000..e7229d8 --- /dev/null +++ b/leetcode/13.py @@ -0,0 +1,18 @@ +# translate roman number strings to int + + +class Solution: + def remanToInt(self, s: str) -> int: + roman_map = {"I": 1, "V": 5, "X": 10, "L": 50, "C": 100, "D": 500, "M": 1000} + num = 0 + prev_value = 0 + + for char in reversed(s): + value = roman_map[char] + if value < prev_value: + num -= value + else: + num += value + prev_value = value + + return num