Guest User

Untitled

a guest
Aug 3rd, 2024
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.68 KB | None | 0 0
  1. using System.Text.RegularExpressions;
  2.  
  3. namespace StringPlay
  4. {
  5.     internal class Program
  6.     {
  7.         static void Main()
  8.         {
  9.             string[] input = Console.ReadLine().Split(',', StringSplitOptions.TrimEntries);
  10.             var winningRegex = @"(@{6,10}|#{6,10}|\${6,10}|\^{6,10})";
  11.  
  12.             foreach (var ticket in input)
  13.             {
  14.                 if (ticket.Length != 20)
  15.                 {
  16.                     Console.WriteLine("invalid ticket");
  17.                     continue;
  18.                 }
  19.  
  20.                 var leftSide = ticket.Substring(0, 10);
  21.                 var rightSide = ticket.Substring(10);
  22.                 var leftMatch = Regex.Match(leftSide, winningRegex).Value;
  23.                 var rightMatch = Regex.Match(rightSide, winningRegex).Value;
  24.  
  25.                 if (string.IsNullOrEmpty(leftMatch) || string.IsNullOrEmpty(rightMatch) || leftMatch[0] != rightMatch[0])
  26.                 {
  27.                     Console.WriteLine($"ticket \"{ticket}\" - no match");
  28.                     continue;
  29.                 }
  30.                 else
  31.                 {
  32.                     int matchLength = Math.Min(leftMatch.Length,rightMatch.Length);
  33.                     var winningSymbol = leftMatch[0];
  34.  
  35.                     if (matchLength >= 6 && matchLength <= 9)
  36.                     {
  37.                         Console.WriteLine($"ticket \"{ticket}\" - {matchLength}{winningSymbol}");
  38.                     }
  39.                     else if (matchLength > 9)
  40.                     {
  41.                         Console.WriteLine($"ticket \"{ticket}\" - {matchLength}{winningSymbol} Jackpot!");
  42.                     }
  43.                 }
  44.             }
  45.         }
  46.     }
  47. }
Advertisement
Add Comment
Please, Sign In to add comment