Loading...
krum_43 avatar krum_43 756 Точки

Проблем при една изпитна задача от изпита от 09.08.2020год.-Destination Mapper

Здравейте колеги,

Опитвам се да реша задачата като използвам един регекс,но явно не го правя по правилният начин.

Ше се радвам ако някой ми посочи грешките или сподели негово по-добро решение.

Условието на задачата може да се види от линка:

https://judge.softuni.bg/Contests/Practice/Index/2518#1

Ето и моят код:

https://pastebin.com/vehKrNWg

Тагове:
0
Fundamentals Module
svephoto avatar svephoto 1191 Точки
Best Answer

Здравей, krum_43,

 

Предлагам ти вариант на работещо решение: https://pastebin.com/9JhVpvH6. Надявам се да ти е полезно.

0
krum_43 avatar krum_43 756 Точки

Thank you.

0
01/04/2021 10:52:29
svephoto avatar svephoto 1191 Точки

Моля! yes

0
01/04/2021 16:59:57
krum_43 avatar krum_43 756 Точки

Можеш ли да поясниш какво точно прави тази част от патерна " {2,})\1 "

0
svephoto avatar svephoto 1191 Точки

{2,} казва, че искаме да хванем 2 или повече букви чрез условието [A-Za-z], защото {2,} е точно след него, като преди това сме хванали една главна буква с условието [A-Z] и така стават общо 3 или повече букви, като така изпълняваме едно от нещата, които се искат в задачата: The letters must be at least 3.

\1 казва, че на това място искаме да повторим търсенето според условието в първа група ([=/]) - в скоби ограждаме групи и можем да казваме къде коя група искаме да се потърси отново.

1
03/04/2021 13:57:57
krum_43 avatar krum_43 756 Точки

Да,мерси.

0
svephoto avatar svephoto 1191 Точки

Моля.

0
boyantoyachki avatar boyantoyachki 0 Точки

using System;

using System.Collections.Generic;
using System.Text.RegularExpressions;

namespace starEnigmaFinal
{
    class Program
    {
        static void Main(string[] args)
        {
            string destinationPattern = @"([=\/])([A-Z][A-Za-z]{2,})\1";
            int travelPoints = 0;
            var destinations = new List<string>();  

            //INPUT
            string input = Console.ReadLine();
            Regex regex = new Regex(destinationPattern, RegexOptions.Compiled);


            foreach(Match currentMatch in regex.Matches(input))
            {
                string dest = currentMatch.Groups[2].Value;
                destinations.Add(dest);
                travelPoints += dest.Length;

 

            }
            Console.WriteLine($"Destinations: {string.Join(", ", destinations)}");
            Console.WriteLine($"Travel Points: {travelPoints}");

 

 

 

        }
    }
}

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