roman to numeral

🏠

Leetcode link. Beats 100% in memory, and 91% in speed.

 1 from functools import reduce
 2 from operator import add, sub
 3 
 4 S = dict(I=1, V=5, X=10, L=50, C=100, D=500, M=1000)
 5 
 6 class Solution:
 7     def romanToInt(self, s: str) -> int:
 8         def r(a, b):
 9             return (add, sub)[S[s[b+1]] > S[s[b]]](a, S[s[b]])
10         return reduce(r, reversed(range(len(s)-1)), S[s[-1]])