Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var roman = {
- 'I':1,
- 'V': 5,
- 'X': 10,
- 'L': 50,
- 'C': 100,
- 'D': 500,
- 'M': 1000,
- }
- const romanNumeral = string => {
- var arr = string.split('')
- var value = 0
- if(arr.length === 1) {
- return roman[string]
- }
- if (arr.length === 0) {
- return value;
- }
- if (roman[arr[0]] == null || roman[arr[1]] == null) {
- return "null"
- }
- if(arr.length - 1 === 1 && roman[arr[0]] > roman[arr[1]]) {
- return roman[arr[0]] + roman[arr[1]]
- }
- if(arr.length - 1 === 1 && roman[arr[0]] < roman[arr[1]]) {
- return roman[arr[1]] - roman[arr[0]]
- }
- for (let i = 0; i < arr.length - 1 ; i++) {
- //first lets pull the romanNumeral up
- if(arr.length - 1 === i + 1 && roman[arr[i]] > roman[arr[i + 1]]) {
- value += roman[arr[i + 1]]
- } else {
- if(roman[arr[i]] === roman[arr[i + 1]]) {
- value += roman[arr[i]]
- }
- if(roman[arr[i]] >= roman[arr[i + 1]]) {
- if(roman[arr[i]] >= roman[arr[i + 1]] && i > 0 && roman[arr[i]] >= roman[arr[i -1]]) {
- } else {
- value += roman[arr[i]]
- }
- } else {
- value += roman[arr[i+1]] - roman[arr[i]]
- }
- }
- }
- return value
- }
Add Comment
Please, Sign In to add comment