13. Roman to Integer - LeetCode Solution


Math String

Python Code:

class Solution:
    def romanToInt(self, s: str) -> int:
        
        l = {"I" : 1, "V" :5, "X" : 10, "L" : 50, "C": 100, "D": 500, "M": 1000}
        ans = 0
        flag = 0
        for i in range(len(s) - 1, 0, -1):
            if flag == 1:
                flag = 0
                continue
            
                
            if l[s[i]] > l[s[i-1]]:
                flag = 1
                ans+= l[s[i]] - l[s[i-1]]
            else:
                ans += l[s[i]]
                
        if flag == 0:
            ans+= l[s[0]]
        return ans
                
                
                


Comments

Submit
0 Comments
More Questions

742A - Arpa’s hard exam and Mehrdad’s naive cheat
1492A - Three swimmers
1360E - Polygon
1517D - Explorer Space
1230B - Ania and Minimizing
1201A - Important Exam
676A - Nicholas and Permutation
431A - Black Square
474B - Worms
987B - High School Become Human
1223A - CME
1658B - Marin and Anti-coprime Permutation
14B - Young Photographer
143A - Help Vasilisa the Wise 2
320A - Magic Numbers
1658A - Marin and Photoshoot
514A - Chewbaсca and Number
382A - Ksenia and Pan Scales
734B - Anton and Digits
1080A - Petya and Origami
1642D - Repetitions Decoding
1440A - Buy the String
1658F - Juju and Binary String
478A - Initial Bet
981A - Antipalindrome
365A - Good Number
1204B - Mislove Has Lost an Array
1409D - Decrease the Sum of Digits
1476E - Pattern Matching
1107A - Digits Sequence Dividing