dremadred

Untitled

Feb 22nd, 2017
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.06 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3. using System.Text.RegularExpressions;
  4.  
  5. namespace _4.Winning_Ticket
  6. {
  7. class Program
  8. {
  9. static void Main()
  10. {
  11. var tickets = Console.ReadLine()
  12. .Split(new[] {','}, StringSplitOptions.RemoveEmptyEntries)
  13. .Select(t => t.Trim())
  14. .ToArray();
  15.  
  16. foreach (var ticket in tickets)
  17. {
  18. if (ticket.Length != 20)
  19. {
  20. Console.WriteLine("ivalid ticket");
  21. continue;
  22. }
  23. var left = new string(ticket.Take(10).ToArray());
  24. var right = new string(ticket.Skip(10).ToArray());
  25.  
  26. var winningSymbols = new string[] { "\\@", "\\#", "\\$", "\\^" };
  27. var winingTickets = false;
  28.  
  29. foreach (var winningSymbol in winningSymbols)
  30. {
  31. var regex = new Regex($"{winningSymbols}{{6,}}");
  32. var leftMatch = regex.Match(left);
  33. if (leftMatch.Success)
  34. {
  35. var rightMatch = regex.Match(right);
  36. if (rightMatch.Success)
  37. {
  38. winingTickets = true;
  39.  
  40. var leftSymbolsLenght = leftMatch.Value.Length;
  41. var rightSymbolLenght = rightMatch.Value.Length;
  42. var jackpot = leftSymbolsLenght == 10 && rightSymbolLenght == 10
  43. ? "Jackpot!"
  44. :string.Empty;
  45.  
  46. Console.WriteLine($"ticket \"{ ticket}\" - { Math.Min(leftSymbolsLenght, rightSymbolLenght)}{winningSymbol}{jackpot}");
  47.  
  48. break;
  49. }
  50. }
  51. }
  52. if (!winingTickets)
  53. {
  54. Console.WriteLine($"ticket \"{ticket}\" - no match");
  55. }
  56. }
  57. }
  58. }
  59. }
Advertisement
Add Comment
Please, Sign In to add comment