elena1234

RageQuit*-withStringBuilder()

Nov 29th, 2020 (edited)
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.20 KB | None | 0 0
  1. using System;
  2. using System.Text;
  3. using System.Text.RegularExpressions;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6.  
  7. namespace RageQuit
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.  
  14.             string input = Console.ReadLine().ToUpper();
  15.  
  16.             Regex regexForSymbolsAndNumber = new Regex(@"(.+?)([0-9]+)");
  17.             MatchCollection matchesSymbolsAndNumbers = regexForSymbolsAndNumber.Matches(input);
  18.             StringBuilder sb = new StringBuilder();
  19.             foreach (Match item in matchesSymbolsAndNumbers)
  20.             {
  21.                 string symbols = item.Groups[1].Value;
  22.                 string number = item.Groups[2].Value;
  23.                 int numberInt = int.Parse(number);
  24.                 if (numberInt > 0)
  25.                 {
  26.                     for (int i = 0; i < numberInt; i++)
  27.                     {
  28.                         sb.Append(symbols);
  29.                     }                
  30.                 }
  31.             }
  32.  
  33.             int numberUniqueSymbols = sb.ToString().Distinct().Count();
  34.             Console.WriteLine($"Unique symbols used: {numberUniqueSymbols}");
  35.             Console.WriteLine(sb);          
  36.         }
  37.     }
  38. }
  39.  
Add Comment
Please, Sign In to add comment