Regular Expressions - More Exercise => Winning ticket
Здравейте,
Тотално блокирах къде ми е грешката тук: https://pastebin.com/MPrmgKhX дава ми 60/100.
1. Winning Ticket
The lottery is exciting. What is not, is checking a million tickets for winnings only by hand. So, you are given the task to create a program, which automatically checks if a ticket is a winner.
You are given a collection of tickets separated by commas and spaces. You need to check every one of them if it has a winning combination of symbols.
A valid ticket should have exactly 20 characters. The winning symbols are '@', '#', '$' and '^'. But for a ticket to be a winner, the symbol should uninterruptedly repeat at least 6 times in both the tickets left half and the tickets right half.
For example, a valid winning ticket should be something like this:
"Cash$$$$$$Ca$$$$$$sh"
The left half "Cash$$$$$$" contains "$$$$$$", which is also contained in the tickets right half "Ca$$$$$$sh". A winning ticket should contain symbols repeating up to 10 times in both halves, which is considered a Jackpot (for example: "$$$$$$$$$$$$$$$$$$$$").
Input
The input will be read from the console. The input consists of a single line containing all tickets separated by commas and one or more white spaces in the format:
- "{ticket}, {ticket}, … {ticket}"
Output
Print the result for every ticket in the order of their appearance, each on a separate line in the format:
- Invalid ticket - "invalid ticket"
- No match - "ticket "{ticket}" - no match"
- Match with length 6 to 9 - "ticket "{ticket}" - {match length}{match symbol}"
- Match with length 10 - "ticket "{ticket}" - {match length}{match symbol} Jackpot!"
Constrains
- The number of tickets will be in the range [0 … 100]
Examples
Input |
Output |
Cash$$$$$$Ca$$$$$$sh |
ticket "Cash$$$$$$Ca$$$$$$sh" - 6$ |
$$$$$$$$$$$$$$$$$$$$, aabb , th@@@@@@eemo@@@@@@ey |
ticket "$$$$$$$$$$$$$$$$$$$$" - 10$ Jackpot! invalid ticket ticket "th@@@@@@eemo@@@@@@ey" - 6@ |
validticketnomatch:( |
ticket "validticketnomatch:(" - no match |
Благодаря за насоките, ще се опитам да се коригирам
Няколко пъти се връщах на тази задача и най-сетне поправих всички грешки. Ето решението на JS за всички онези, които ще се мъчат :D https://pastebin.com/UgtkcKGq
В условието на задачата, не казват че трябва да се вземе по-късата поредица от печеливши символи. Там ми беше пропуска, за да минат всички тестове. Благодаря за идеята.