Guest User

Untitled

a guest
Jan 20th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.14 KB | None | 0 0
  1. var roman = {
  2. 'I':1,
  3. 'V': 5,
  4. 'X': 10,
  5. 'L': 50,
  6. 'C': 100,
  7. 'D': 500,
  8. 'M': 1000,
  9. }
  10. const romanNumeral = string => {
  11.  
  12. var arr = string.split('')
  13. var value = 0
  14. if(arr.length === 1) {
  15. return roman[string]
  16. }
  17. if (arr.length === 0) {
  18. return value;
  19. }
  20. if (roman[arr[0]] == null || roman[arr[1]] == null) {
  21. return "null"
  22. }
  23. if(arr.length - 1 === 1 && roman[arr[0]] > roman[arr[1]]) {
  24. return roman[arr[0]] + roman[arr[1]]
  25. }
  26. if(arr.length - 1 === 1 && roman[arr[0]] < roman[arr[1]]) {
  27. return roman[arr[1]] - roman[arr[0]]
  28. }
  29. for (let i = 0; i < arr.length - 1 ; i++) {
  30. //first lets pull the romanNumeral up
  31.  
  32. if(arr.length - 1 === i + 1 && roman[arr[i]] > roman[arr[i + 1]]) {
  33. value += roman[arr[i + 1]]
  34. } else {
  35. if(roman[arr[i]] === roman[arr[i + 1]]) {
  36. value += roman[arr[i]]
  37. }
  38. if(roman[arr[i]] >= roman[arr[i + 1]]) {
  39. if(roman[arr[i]] >= roman[arr[i + 1]] && i > 0 && roman[arr[i]] >= roman[arr[i -1]]) {
  40. } else {
  41. value += roman[arr[i]]
  42. }
  43. } else {
  44. value += roman[arr[i+1]] - roman[arr[i]]
  45. }
  46. }
  47. }
  48. return value
  49. }
Add Comment
Please, Sign In to add comment