- Difficulty: 6 kyu
- Stars: 860
- Votes: 2012
- Category: algorithms
- Tags: Algorithms, Parsing, Logic, Strings
- Source: codewars
Create a function that takes a Roman numeral as its argument and returns its value as a numeric decimal integer. You don’t need to validate the form of the Roman numeral.
Modern Roman numerals are written by expressing each decimal digit of the number to be encoded separately, starting with the leftmost digit and skipping any 0s. So 1990 is rendered “MCMXC” (1000 = M, 900 = CM, 90 = XC) and 2008 is rendered “MMVIII” (2000 = MM, 8 = VIII). The Roman numeral for 1666, “MDCLXVI”, uses each letter in descending order.
cpp solution("XXI"); // => 21
php solution('XXI'); // should return 21
coffeescript solution('XXI') # should return 21
ruby solution('XXI') # should return 21
python solution('XXI') # should return 21
haskell solution "XXI" -- should return 21
csharp RomanDecode.Solution("XXI") -- should return 21
typescript solution('XXI'); // should return 21
swift solution("XXI") // should return 21
Elixir Solution.decode("XXI") # should return 21
r solution("XXI") # should return 21
lua romanDecoder("XXI") -- should return 21
scala Roman.decode("XXI") // should return 21
clojure (translate-roman-numerals "XXI") ;; should return 21
Symbol Value I 1 V 5 X 10 L 50 C 100 D 500 M 1,000
Courtesy of rosettacode.org
Solve It Here
Click the link below to solve it on Codewars:
This puzzle was posted by a Slackbot via a slash command. If you want to help work on the app, send a message to @Josh.
If you don’t want to see the coding puzzles when you visit the forum, you can go into your settings and mute the puzzles category.