82 / 205
LeetCode · EasyOson10 ball· ~15 daqiqa

Roman to Integer

Rim raqamlari yettita turli belgi orqali ifodalanadi: I, V, X, L, C, D va M.

Sizga Rim raqamlaridan tashkil topgan satr s berilgan. Uning butun son (integer) ekvivalentini toping.

example.go
func solve(s string) int {
    // ...
}

Misollar

kod
Input: s = "III"
Output: 3
Tushuntirish: III = 3.
kod
Input: s = "LVIII"
Output: 58
kod
Input: s = "MCMXCIV"
Output: 1994

Maslahatlar

  1. Har bir belgining qiymatini map orqali saqlab, keyingi belgi bilan solishtirishni o'ylang — kichik qiymat kattadan oldin kelsa (masalan IV), bu ayirishni bildiradi.
  2. Satrni chapdan o'ngga aylanib, har bir belgi qiymatini joriy belgidan keyingi belgi qiymati bilan solishtiring: agar joriysi kichik bo'lsa uni yig'indidan ayiring, aks holda qo'shing.