A. 羅馬數字轉整數

    Type: Default 1000ms 256MiB

羅馬數字轉整數

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

題目描述

羅馬數字由七種不同的符號組成:I, V, X, L, C, DM

符號
I 1
V 5
X 10
L 50
C 100
D 500
M 1000

例如,數字 2 寫作 II,即兩個 1 相加。數字 12 寫作 XII,即 X + II。數字 27 寫作 XXVII,即 XX + V + II

羅馬數字通常按照從大到小的順序書寫。然而,數字 4 不是 IIII,而是 IV。因為 IV 之前,我們需要減去 1,因此得到 4。同樣的規則適用於數字 9(寫作 IX)。總共有以下六種減法規則:

  • I 可以放在 V (5) 和 X (10) 之前來表示 49
  • X 可以放在 L (50) 和 C (100) 之前來表示 4090
  • C 可以放在 D (500) 和 M (1000) 之前來表示 400900

給定一個羅馬數字,將其轉換為整數。


範例 1

輸入:
III

輸出:
3

解釋:
III = 3


範例 2

輸入:
LVIII

輸出:
58

解釋:
L = 50, V = 5, III = 3


範例 3

輸入:
MCMXCIV

輸出:
1994

解釋:

  • M = 1000
  • CM = 900
  • XC = 90
  • IV = 4

限制條件

  • 1 <= s.length <= 15
  • s 僅包含字符 'I', 'V', 'X', 'L', 'C', 'D', 'M'
  • 保證 s 是範圍 [1, 3999] 內的有效羅馬數字。

20250307

Not Claimed
Status
Done
Problem
3
Open Since
2025-3-7 0:00
Deadline
2025-7-31 23:59
Extension
24 hour(s)