Advertisement
Taniaaleksandrova

1. Winning Ticket

Jul 25th, 2020
1,074
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.37 KB | None | 0 0
  1. using System;
  2. using System.Text.RegularExpressions;
  3. using System.Linq;
  4. using System.Collections.Generic;
  5.  
  6. namespace _1._Winning_Ticket
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             string pattern = @"^.*([@]{6,10}|[#]{6,10}|[$]{6,10}|[\^]{6,10}).*\1.*$";
  13.             string patternSing = @"[@]|[#]|[$]|[\^]";
  14.  
  15.             var tickets = Console.ReadLine().Split(',', StringSplitOptions.RemoveEmptyEntries).Select(x => x.Trim()).ToList();
  16.  
  17.             foreach (var item in tickets)
  18.             {
  19.  
  20.                 if (item.Length == 20)
  21.                 {
  22.                     var match = Regex.Match(item, pattern);
  23.                     if (match.Success)
  24.                     {
  25.                         int count = item.Count();
  26.                         var leftPart = item.Substring(0, count / 2);
  27.                         var rightPart = item.Substring(count / 2);
  28.  
  29.                         var matchesLeft = Regex.Matches(leftPart, patternSing);
  30.                         var matchesRight = Regex.Matches(rightPart, patternSing);
  31.  
  32.                         if (matchesLeft.Count == matchesRight.Count)
  33.                         {
  34.                             int min = Math.Min(matchesLeft.Count, matchesRight.Count);
  35.                             if (min == 10)
  36.                             {
  37.                                 Console.WriteLine($"ticket \"{item}\" - 10{matchesLeft[1]} Jackpot!");
  38.                             }
  39.                             else if(min>=6 && min<=9)
  40.                             {
  41.                                 Console.WriteLine($"ticket \"{item}\" - {min}{matchesLeft[1]}");
  42.                             }
  43.                             else
  44.                             {
  45.                                 Console.WriteLine($"ticket \"{item}\" - no match");
  46.                             }
  47.                         }
  48.                         else
  49.                         {
  50.                             Console.WriteLine($"ticket \"{item}\" - no match");
  51.                         }
  52.                     }
  53.                     else
  54.                     {
  55.                         Console.WriteLine($"ticket \"{item}\" - no match");
  56.                     }
  57.                 }
  58.                 else
  59.                 {
  60.                     Console.WriteLine("invalid ticket");
  61.                 }
  62.             }
  63.         }
  64.     }
  65. }
  66.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement