โจทย์
ดูต้นฉบับ (ภาษาอังกฤษ)แปลงเลขโรมันที่ถูกต้องให้เป็นค่าตัวเลขจำนวนเต็ม สัญลักษณ์ได้แก่ I=1, V=5, X=10, L=50, C=100, D=500, M=1000; หากมีสัญลักษณ์ที่มีค่าน้อยกว่าอยู่หน้าสัญลักษณ์ที่มีค่ามากกว่า ให้นำค่านั้นไปลบ (เช่น IV = 4, CM = 900)
ให้เขียนฟังก์ชัน roman_to_int(text)
อินพุต
text: เลขโรมันที่ถูกต้องหนึ่งค่า
เอาต์พุต
คืนค่าตัวเลขจำนวนเต็มที่สอดคล้องกับเลขโรมันนั้น
เงื่อนไข
1 ≤ value ≤ 3,999
ตัวอย่าง
ตัวอย่างที่ 1
อินพุต:
text = "XIV"
ผลลัพธ์ที่คาดหวัง:
expected = 14
อินพุต:
std::string text = "XIV";
ผลลัพธ์ที่คาดหวัง:
long long expected = 14;
อินพุต:
string text = "XIV";
ผลลัพธ์ที่คาดหวัง:
long expected = 14;
คำอธิบาย
X = 10, IV = 4: 14
ตัวอย่างที่ 2
อินพุต:
text = "MCMXCIV"
ผลลัพธ์ที่คาดหวัง:
expected = 1994
อินพุต:
std::string text = "MCMXCIV";
ผลลัพธ์ที่คาดหวัง:
long long expected = 1994;
อินพุต:
string text = "MCMXCIV";
ผลลัพธ์ที่คาดหวัง:
long expected = 1994;
คำอธิบาย
M=1000, CM=900, XC=90, IV=4: 1994
แหล่งอ้างอิง
โจทย์นี้ปรับให้เหมาะกับ CodeUtility กรุณาทำตามคำชี้แจงและข้อจำกัดด้านบน