LardaX

Winning-Ticket

Jan 6th, 2017
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.72 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Text.RegularExpressions;
  6. using System.Threading.Tasks;
  7.  
  8. namespace Winning_Ticket
  9. {
  10.     class Program
  11.     {
  12.         static void Main(string[] args)
  13.         {
  14.             char[] delimiters = new char[] { ' ', ',' };
  15.  
  16.             string[] tickets = Console.ReadLine().Split(delimiters, StringSplitOptions.RemoveEmptyEntries).ToArray();
  17.  
  18.             foreach (string ticket in tickets)
  19.             {
  20.                 if (!ticket.Length.Equals(20))
  21.                 {
  22.                     Console.WriteLine("invalid ticket");
  23.                 }
  24.                 else
  25.                 {
  26.                     string leftPart = ticket.Substring(0, ticket.Length / 2);
  27.                     string rightPart = ticket.Substring(ticket.Length / 2);
  28.  
  29.                     string pattern = @"@{6,10}|#{6,10}|\${6,10}|\^{6,10}";
  30.                     Regex regex = new Regex(pattern);
  31.  
  32.                     Match leftMatch = regex.Match(leftPart);
  33.                     Match rightMatch = regex.Match(rightPart);
  34.  
  35.                     if (leftMatch.Success && rightMatch.Success &&
  36.                         leftMatch.Groups[0].ToString().Substring(0, 1).Equals(rightMatch.Groups[0].ToString().Substring(0, 1)))
  37.                     {
  38.                         string symbolsMatched = GetMatch(leftMatch, rightMatch);
  39.                         string symbol = symbolsMatched.Substring(0, 1);
  40.  
  41.                         if (symbolsMatched.Length.Equals(10))
  42.                         {
  43.                             Console.WriteLine($@"ticket ""{ticket}"" - {symbolsMatched.Length}{symbol} Jackpot!");
  44.                         }
  45.                         else
  46.                         {
  47.                             Console.WriteLine($@"ticket ""{ticket}"" - {symbolsMatched.Length}{symbol}");
  48.                         }
  49.  
  50.         //           Console.WriteLine(symbolsMatched.Length.Equals(10)
  51.         //               ? $@"ticket ""{ticket}"" - {symbolsMatched.Length}{symbolsMatched.Substring(0, 1)} Jackpot!"
  52.         //               : $@"ticket ""{ticket}"" - {symbolsMatched.Length}{symbolsMatched.Substring(0, 1)}");
  53.                     }
  54.                     else
  55.                     {
  56.                         Console.WriteLine($@"ticket ""{ticket}"" - no match");
  57.                     }
  58.                 }
  59.             }
  60.         }
  61.  
  62.         private static string GetMatch(Match leftMatch, Match rightMatch)
  63.         {
  64.             if (leftMatch.Groups[0].ToString().Length > rightMatch.Groups[0].ToString().Length)
  65.             {
  66.                 return rightMatch.Groups[0].ToString();
  67.             }
  68.             return leftMatch.Groups[0].ToString();
  69.         }
  70.     }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment