Rim raqamlaridan tuzilgan son berilgan. Uni arab raqamlaridagi integer songa aylantiring. Rim raqamlari haqida bu yerda tanishib chiqishingiz mumkin.
Misol 1:
Input: s = "LVIII" Output: 58 Tushuntirish: L = 50, V= 5, III = 3.
Misol 2:
Input: s = "MCMXCIV" Output: 1994 Tushuntirish: M = 1000, CM = 900, XC = 90 va IV = 4.
Ishlash tartibi
Eng oson yo’li – rim raqamlarini sonlarga aylantirib chiqish va ularni bir-biriga qo’shib yakuniy qiymatini qaytarish. Masalan, M
harfini 1000
ga aylantiriladi (replace), D
ni 500
ga va hokazo. Bu yerda e’tibor qilish kerak bo’ladigan jihati – 4, 9, 40, 90, 400, 900 sonlari ikki rim raqamining ayirmasi sifatida hosil bo’lgani uchun, ularni avval sonlarga o’tkazib olinadi.
Yuqoridagi kod biroz «verbose», ammo o’z ishini bajaradi. Kichik optimizatsiya sifatida, rim raqamlari va ularning arab raqamlari analogini dictionary‘da saqlashimiz ham mumkin.