Loading...
Vladislav03 avatar Vladislav03 2 Точки

Message Decrypter Final Exam Fundamentals

Колеги моля за помощ. Тази задача ми скъса нервите не мога да разбера как трябва да подходя. Ако някой има решение за C# ще бъда много благодарен, ако го сподели.

 

Message Decrypter

Create a program, that checks if inputs have a valid message and decrypt it. On the first line you will receive a number that indicates how many inputs you will receive on the next lines.

A message is valid when:

  • There is nothing else before and after it
  • It starts with a tag, which is surrounded by either '$' or '%' (but not both at the same time), the tag itself has to be minimum 3 characters long, start with a uppercase letter, followed only by lowercase letters
  • There is a colon and a single white space after the tag
  • There are 3 groups consisting of numbers between '[' and ']', followed by a pipe ('|')

Example for a valid message:

"$Request$: [73]|[115]|[32]|"

You must check if the message is valid and if it isdecrypt it, if it isn’t print the following message:

"Valid message not found!"

Decrypting a message means to take all numbers and turn them into ASCII symbols. After successful decrypt, print it in the following format:

{tag}: {decryptedMessage}

Input

  • On the first line - n - the count of inputs.
  • On the next n lines - input that you have to check if it has a valid message.

Output

  • Print all results from each input, each on a new line.

Examples

Input

Output

Comment

4

$Request$: [73]|[115]|[105]|

%Taggy$: [73]|[73]|[73]|

%Taggy%: [118]|[97]|[108]|

$Request$: [73]|[115]|[105]|[32]|[75]|

 

Request: Isi

Valid message not found!

Taggy: val

Valid message not found!

We have 3 input lines to check.
The first one follows the rules and is valid. The second one doesn’t because the tag is surrounded by both '%' and '$'. The third one has a valid message and is in the beginning of the input. The last one is invalid because it has more than 3 groups of numbers.

3

This shouldnt be valid%Taggy%: [118]|[97]|[108]|

$tAGged$: [97][97][97]|

$Request$: [73]|[115]|[105]|true

Valid message not found!

Valid message not found!

Valid message not found!

1
C# Fundamentals
krum_43 avatar krum_43 756 Точки

Задачата се решава с т.н. регулярни изрази(регекси).Регексите са много продуктивни в някои ситуации,но по принцип се пишат трудно.Мисля,че имам някакво решение.

0
04/12/2022 17:56:28
Vladislav03 avatar Vladislav03 2 Точки

Mожеш ли да ми го споделиш. Аз все още не мога да се оправя с тази задача xD

1
MartinBG avatar MartinBG 4803 Точки

@Vladislav03 - ето линк с регекс, който покрива условието на задачата: regex101.com

 

2
krum_43 avatar krum_43 756 Точки

А имаш ли целият код с този регекс?

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.