Advertisement
Guest User

Untitled

a guest
Mar 24th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 0.51 KB | None | 0 0
  1. ROMAN_MAP = {
  2.     1000 => "M",
  3.     900 => "CM",
  4.     500 => "D",
  5.     400 => "CD",
  6.     100 => "C",
  7.     90 => "XC",
  8.     50 => "L",
  9.     40 => "XL",
  10.     10 => "X",
  11.     9 => "IX",
  12.     5 => "V",
  13.     4 => "IV",
  14.     1 => "I"
  15. }
  16.  
  17. def to_arabic(romanian_number)
  18.   result = 0
  19.   str = romanian_number
  20.   ROMAN_MAP.values.each do |roman|
  21.     while str.start_with?(roman)
  22.       result += ROMAN_MAP.invert[roman]
  23.       str = str.slice(roman.length, str.length)
  24.     end
  25.   end
  26.   result
  27. end
  28.  
  29. puts to_arabic("XX")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement