1. 程式人生 > >Leetcode 13 羅馬數字轉整數

Leetcode 13 羅馬數字轉整數

lee turn style 數字 多少 數字字符串 羅馬 leetcode 位置

  • 將每個羅馬字母對應的整數寫成字典格式,將輸入的羅馬數字字符串轉換成列表形式
  • 一開始想的是怎麽將羅馬字母的對應位置找出來,利用列表循環相加
  • 後來發現了規律,‘IV‘和’I‘+‘V‘只相差2,以此類推,最後將得到的總和減去多少個x裏面的2就好了

  

def Rome(x):
    dict={
        I:1,
        V:5,
        X:10,
        L:50,
        C:100,
        D:500,
        M:1000
    }
    z=list(x)
    print(z)
    sum=0
    
for i in z: sum=sum+dict[i] if IV in x or IXin x: num = x.count(IV)+x.count(IX) sum = sum - num * 2 if XL in x or XCin x: num=x.count(XL)+x.count(XC) sum=sum-num*20 if CD in x or CMin x: num=x.count(CD)+x.count(CM) sum
=sum-num*200 return sum

Leetcode 13 羅馬數字轉整數