Advertisement
Guest User

Leetcode Roman to arabic number

a guest
Aug 15th, 2023
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.05 KB | Source Code | 0 0
  1. public int RomanToInt(string s)
  2.     {
  3.         int number = 0;
  4.         char prevChar = 'a';
  5.         int prevAdded = 0;
  6.         foreach (char item in s)
  7.         {
  8.             if (item == 'I')
  9.             {
  10.                 prevChar = 'I';
  11.                 prevAdded = 1;
  12.                 number += 1;
  13.             }
  14.             else if(item == 'V')
  15.             {
  16.                 if (prevChar == 'I')
  17.                 {
  18.                     number -= prevAdded;
  19.                     prevAdded = 0;
  20.                     number += 4;
  21.                     prevChar = 'V';
  22.                 }
  23.                 else
  24.                 {
  25.                     prevAdded = 5;
  26.                     prevChar = 'V';
  27.                     number += 5;
  28.                 }
  29.             }
  30.             else if(item == 'X')
  31.             {
  32.                 if (prevChar == 'I')
  33.                 {
  34.                     number -= prevAdded;
  35.                     prevAdded = 0;
  36.                     number += 9;
  37.                     prevChar = 'X';
  38.                 }
  39.                 else
  40.                 {
  41.                     prevAdded = 10;
  42.                     prevChar = 'X';
  43.                     number += 10;
  44.                 }
  45.             }
  46.             else if(item == 'L')
  47.             {
  48.                 if (prevChar == 'X')
  49.                 {
  50.                     number -= prevAdded;
  51.                     prevAdded = 0;
  52.                     number += 40;
  53.                     prevChar = 'L';
  54.                 }
  55.                 else
  56.                 {
  57.                     prevAdded = 50;
  58.                     prevChar = 'L';
  59.                     number += 50;
  60.                 }
  61.             }
  62.             else if(item == 'C')
  63.             {
  64.                 if (prevChar == 'X')
  65.                 {
  66.                     number -= prevAdded;
  67.                     prevAdded = 0;
  68.                     number += 90;
  69.                     prevChar = 'C';
  70.                 }
  71.                 else
  72.                 {
  73.                     prevAdded = 100;
  74.                     prevChar = 'C';
  75.                     number += 100;
  76.                 }
  77.             }
  78.             else if(item == 'D')
  79.             {
  80.                 if (prevChar == 'C')
  81.                 {
  82.                     number -= prevAdded;
  83.                     prevAdded = 0;
  84.                     number += 400;
  85.                     prevChar = 'D';
  86.                 }
  87.                 else
  88.                 {
  89.                     prevAdded = 500;
  90.                     prevChar = 'D';
  91.                     number += 500;
  92.                 }
  93.             }
  94.             else if(item == 'M')
  95.             {
  96.                 if (prevChar == 'C')
  97.                 {
  98.                     number -= prevAdded;
  99.                     prevAdded = 0;
  100.                     number += 900;
  101.                     prevChar = 'M';
  102.                 }
  103.                 else
  104.                 {
  105.                     prevAdded = 1000;
  106.                     prevChar = 'M';
  107.                     number += 1000;
  108.                 }
  109.             }
  110.         }
  111.         return number;
  112.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement