class Solution:
    def romanToInt(self, s: str) -> int:
        num = 0
        for i in range(len(s)):
            if s[i] == "I":
                try:
                    if s[i+1] == "V" or s[i+1] == "X":
                        num -= 1
                        continue
                except:
                    num += 1
                    continue
                else:
                    num += 1
                    continue
            elif s[i] == "X":
                try:
                    if s[i+1] == "L" or s[i+1] == "C":
                        num -= 10
                        continue
                except:
                    num += 10
                    continue
                else:
                    num += 10
                    continue
            elif s[i] == "C":
                try:
                    if s[i+1] == "D" or s[i+1] == "M":
                        num -= 100
                    continue
                except:
                    num += 100
                    continue
                else:
                    num += 100
                    continue
            elif s[i] == "V":
                num += 5
                continue
            elif s[i] == "L":
                num += 50
                continue
            elif s[i] == "D":
                num += 500
                continue
            else:
                num += 1000
                continue
        return num
    
               
This is obviously not the most optimal approach, but I want to understand what's wrong with it... I know this is wrong because here were the 3 testcases from Leetcode
"III" --> 3 worked "LVIII" ---> 58 worked
BUT "MCMXCIV" --> 1884 expected 1984
This code basically gives each iteration a specific amount that will be added/substracted from the totalsum. But somehow 100 was deducted and I dont get how...
