Arxero

Untitled

Nov 25th, 2017
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.06 KB | None | 0 0
  1. namespace _04.Winning_Ticket
  2. {
  3.     using System;
  4.     using System.Linq;
  5.     using System.Text.RegularExpressions;
  6.  
  7.     public class WinningTicket
  8.     {
  9.         public static void Main()
  10.         {
  11.             var tickets = Console.ReadLine().Split(new char[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries);
  12.  
  13.             var winningPattern = @"(\@{6,9}|\${6,9}|\#{6,9}|\^{6,9})";
  14.             var jackpotPattern = @"(\@{10}|\${10}|\#{10}|\^{10})";
  15.  
  16.             var winningRegex = new Regex(winningPattern);
  17.             var jackpotRegex = new Regex(jackpotPattern);
  18.  
  19.             foreach (var ticket in tickets)
  20.             {
  21.                 if (ticket.Length != 20)
  22.                 {
  23.                     Console.WriteLine("invalid ticket");
  24.                 }
  25.  
  26.                 else
  27.                 {
  28.                     var leftTicketHalf = ticket.Substring(0, 10);
  29.                     var rightTicketHalf = ticket.Substring(10, 10);
  30.  
  31.                     var matchLeftWin = winningRegex.Match(leftTicketHalf);
  32.                     var matchRightWin = winningRegex.Match(rightTicketHalf);
  33.  
  34.                     var jackpotMatchLeft = jackpotRegex.Match(leftTicketHalf);
  35.                     var jackpotMatchRight = jackpotRegex.Match(rightTicketHalf);
  36.  
  37.                     if (jackpotMatchLeft.Success && jackpotMatchRight.Success)
  38.                     {
  39.                         var symbol = jackpotMatchRight.ToString().ToList();
  40.                         Console.WriteLine($"ticket \"{ticket}\" - {jackpotMatchRight.Length}{symbol[0]} Jackpot!");
  41.                     }
  42.  
  43.                     else if (matchLeftWin.Success && matchRightWin.Success)
  44.                     {
  45.                         var symbol = matchRightWin.ToString().ToList();
  46.                         Console.WriteLine($"ticket \"{ticket}\" - {matchRightWin.Length}{symbol[0]}");
  47.                     }
  48.                     else
  49.                     {
  50.                         Console.WriteLine($"ticket \"{ticket}\" - no match");
  51.                     }
  52.                 }
  53.             }
  54.         }
  55.     }
  56. }
Add Comment
Please, Sign In to add comment