Menu
CoddyTech

Roman to Integer

ローマ数字では7つの記号を使用します。I = 1、V = 5、X = 10、L = 50、C = 100、D = 500、M = 1000です。記号は大きいものから小さいものへと並べて足し合わせます。ただし、引き算を表す6つの組み合わせでは、小さい記号が先に置かれ、大きい記号から差し引かれます。IV = 4、IX = 9、XL = 40、XC = 90、CD = 400、CM = 900です。

有効なローマ数字sが与えられます。それが表す整数を返してください。

関数

romanToInt(s: string) → integer
sstring
大文字の有効なローマ数字
戻り値integer
数値の値(1~3999)

制約

  • 1 ≤ s.length ≤ 15
  • s に含まれるのは、文字 I、V、X、L、C、D、M のみです。
  • sは、1から3999までの値を表す有効なローマ数字です。

例

入力
s = "XXVII"
出力
27
説明
XXは10 + 10、Vは5、IIは1 + 1を表すので、合計は27です。どの記号の後にもそれより大きい記号は続かないため、すべての記号を加算します。

lock icon提出時に隠しテスト+22件

challenge icon

発展問題

1から3999までの整数をローマ数字に変換する、逆の処理を書けますか?

コードをリセット
def romanToInt(s):
    # ここにコードを書いてください
テストケース

ケース1

ケース2

ケース3

入力

s = "XXVII"

期待値

27