Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Text.RegularExpressions;
- using System.Threading.Tasks;
- namespace _04_WinningTicket
- {
- class Program
- {
- static void Main(string[] args)
- {
- var haveValidSimbols = "[$@#^]{6}";
- var tickets = Console.ReadLine()
- .Split(',')
- .Select(x => x.Trim())
- .ToArray();
- var leftPartOfTicket = "";
- var rightPatrOfTicket = "";
- Regex regex = new Regex(haveValidSimbols);
- foreach (var ticket in tickets)
- {
- if (ticket.Length != 20)
- {
- Console.WriteLine("invalid ticket");
- }
- else
- {
- leftPartOfTicket = ticket.Substring(0, 10);
- rightPatrOfTicket = ticket.Substring(10, 10);
- var isMatchLeft = regex.IsMatch(leftPartOfTicket);
- var isMatchRight = regex.IsMatch(rightPatrOfTicket);
- var patternSimbols = "[@#$^]";
- Regex regexSimbols = new Regex(patternSimbols);
- var leftMatch = regex.Match(leftPartOfTicket).Value;
- var rightMatch = regex.Match(rightPatrOfTicket).Value;
- if (isMatchLeft && isMatchRight && leftMatch == rightMatch)
- {
- var counterFromLeft = regexSimbols.Matches(leftPartOfTicket).Count;
- var counterForomRight = regexSimbols.Matches(rightPatrOfTicket).Count;
- var symbol = regexSimbols.Match(leftPartOfTicket).Value;
- var counter = Math.Min(counterFromLeft, counterForomRight);
- if (counter == 10)
- {
- Console.WriteLine($"ticket \"{ ticket}\" - {counter}{symbol} Jackpot!");
- }
- else
- {
- Console.WriteLine($"ticket \"{ ticket}\" - {counter}{symbol}");
- }
- counter = 0;
- }
- else
- {
- Console.WriteLine($"ticket \"{ticket}\" - no match");
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment