Advertisement
elena1234

StringExplosion*

Nov 14th, 2020 (edited)
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.88 KB | None | 0 0
  1. using System;
  2. using System.Text;
  3.  
  4. namespace text
  5. {
  6.     class MainClass
  7.     {
  8.         public static void Main(string[] args)
  9.         {
  10.             string text = Console.ReadLine();
  11.             int explosionPower = 0;
  12.             bool haveMarks = true;
  13.             int startIndex = 0;
  14.  
  15.             for (int i = 0; i < text.Length; i++)
  16.             {
  17.                 if (text[i] == '>')
  18.                 {
  19.                     explosionPower += int.Parse(text[i + 1].ToString());
  20.                     startIndex = i + 1;
  21.                     int endIndex = text.IndexOf('>', i + 2);
  22.                     if (endIndex == -1)
  23.                     {
  24.                         haveMarks = false;
  25.                         break;
  26.                     }
  27.  
  28.                     int lengthBetwenTwoChars = endIndex - startIndex;
  29.                     if (explosionPower >= lengthBetwenTwoChars)
  30.                     {
  31.                         text = text.Remove(startIndex,lengthBetwenTwoChars);
  32.                         explosionPower -= lengthBetwenTwoChars;
  33.                     }
  34.  
  35.                     else if (explosionPower < lengthBetwenTwoChars)
  36.                     {
  37.                         text = text.Remove(startIndex, explosionPower);
  38.                         explosionPower = 0;
  39.                     }
  40.                 }
  41.             }
  42.  
  43.             if (haveMarks == false)
  44.             {
  45.                 int lastSubstringLength = text.Length - startIndex;
  46.  
  47.                
  48.                 if (explosionPower >= lastSubstringLength)
  49.                 {
  50.                     text = text.Remove(startIndex,lastSubstringLength);
  51.                 }
  52.  
  53.                 else if (explosionPower < lastSubstringLength)
  54.                 {
  55.                     text = text.Remove(startIndex, explosionPower);
  56.                 }
  57.             }
  58.  
  59.             Console.WriteLine(text);
  60.  
  61.         }
  62.     }
  63. }    
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement