jackpieno

Untitled

Jun 21st, 2021
968
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. public class Solution {
  2.     public int RomanToInt(string s) {
  3.            int num = 0;
  4.  
  5.                 for (int i = s.Length - 1; i >= 0; i--)
  6.                 {
  7.  
  8.  
  9.                     switch (s[i])
  10.                     {
  11.  
  12.                         case 'I':
  13.                             if (i + 1 != s.Length && s[i + 1] != s[i])
  14.                                 num--;
  15.                             else
  16.                                 num++;
  17.                             continue;
  18.                         case 'V':
  19.                             if (i + 1 != s.Length && s[i + 1] == 'X')
  20.                                 num -= 5;
  21.                             else
  22.                                 num += 5;
  23.                             continue;
  24.                         case 'X':
  25.                             if (i + 1 != s.Length && (s[i + 1] == 'L' || s[i + 1] == 'C'))
  26.                                 num -= 10;
  27.                             else
  28.                                 num += 10;
  29.                             continue;
  30.                         case 'L':
  31.                             num += 50;
  32.                             continue;
  33.                         case 'C':
  34.                             if (i + 1 != s.Length && (s[i + 1] == 'D' || s[i + 1] == 'M'))
  35.                                 num -= 100;
  36.                             else
  37.                                 num += 100;
  38.                             continue;
  39.                         case 'D':
  40.                             num += 500;
  41.                             continue;
  42.                         default:
  43.                             num += 1000;
  44.                             continue;
  45.  
  46.                     }
  47.  
  48.  
  49.  
  50.                 }
  51.                 return num;
  52.     }
  53. }
RAW Paste Data