[LeetCode] #13 Roman to Integer

#13 Roman to Integer

Question

Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from 1 to 3999.

My C# Solution

public class Solution {

    private static Dictionary<string, int> RomanNumberMapping = 
        new Dictionary<string, int>()
        {
            { "I", 1 }, { "V", 5 }, { "X", 10 }, { "L", 50 }, 
            { "C", 100 }, { "D", 500 }, { "M", 1000 }         
        };
    
    public int RomanToInt(string s) {
        var romanChars = s.ToCharArray();
        var result = 0;
        var previousNumber = 0;
        for (var i = 0; i < romanChars.Length; i++)
        {
            var currentRoman = romanChars[i].ToString();
            var currentNumber = RomanNumberMapping[currentRoman];
            var numberToPlus = currentNumber;
            if (previousNumber < currentNumber && previousNumber != 0)
            {
                result -= previousNumber;
                numberToPlus = currentNumber - previousNumber;
            }
            result += numberToPlus;
            previousNumber = currentNumber;
        }
        return result;
    }
}