この解答例はChatGPTによって生成されています,正しいかは自己判断で。 皆の投稿からも解答例が見つかるかもしれませんよ。
BFE.devでのAI解答例 - JavaScript コーディング問題
133. ローマ数字を整数に変換する
解答例:
function romanToInteger(str) {
const ROMAN_NUMERALS = {
I: 1,
V: 5,
X: 10,
L: 50,
C: 100,
D: 500,
M: 1000,
};
let result = 0;
for (let i = 0; i < str.length; i++) {
const current = ROMAN_NUMERALS[str[i]];
const next = ROMAN_NUMERALS[str[i + 1]];
if (next && current < next) {
result += next - current;
i++;
} else {
result += current;
}
}
return result;
}
まず、ローマ数字を整数に変換するには、各文字に対応する数値を知る必要があります。ROMAN_NUMERALS
オブジェクトを使って、各ローマ数字に対応する数値を格納します。次に、減算則を処理するために、各文字とその次の文字を比較し、次の文字がより大きい場合は、次の文字から現在の文字を引きます。ループを終了すると、アラビア数字に変換され、変換されたアラビア数字が返されます。