Menu
CoddyTech

Integer to Roman

ローマ数字には7つの文字があります。M は1000、D は500、C は100、L は50、X は10、V は5、I は1です。文字は大きいものから小さいものへ並び、足し合わせます。そのため、7はVIIです。同じ文字を4回連続して使うことはありません。4、9、40、90、400、900はそれぞれIV、IX、XL、XC、CD、CMと書き、小さい文字をその後にある大きい文字から引きます。小さい文字が先に置かれるのは、この6つの組み合わせだけです。

整数numが与えられたとき、そのローマ数字を返してください。

関数

intToRoman(num: integer) → string
numinteger
1から3999までの整数
戻り値string
numを表す大文字のローマ数字

制約

  • 1 ≤ num ≤ 3999

例

入力
num = 49
出力
"XLIX"
説明
49 は 40 + 9 なので、数字は XL の次に IX です:XLIX。IL は使えません。I が減算に使われるのは IV と IX の場合だけだからです。
challenge icon

発展問題

文字列が標準形式のローマ数字かどうかを確認できますか?XLIXは受け入れ、IIII、IL、VXは拒否します。

コードをリセット
def intToRoman(num):
    # ここにコードを書いてください

テスト #1

テスト #2

テスト #3

引数

num = 49

期待される出力

"XLIX"