Loading...
Martotko avatar Martotko 88 Точки

Strings, Dictionaries, Lambda and LINQ - Exercises: 05. URL Parser

Здравейте,

Ще споделите ли решения на тази задача. Аз направих това http://pastebin.com/NdUwupL5, но ще се радвам да видя нещо по кратко и функционално :)

Благодаря ви предварително.

0
Programming Fundamentals
tihomirj avatar tihomirj 33 Точки

Annsta, много пригледно решение, поздравления. Judge ти дава вероятно 100 точки, но решението ти не парсва правилно следния случаи:  www.softuni.bg/Resources/Materials

Позволих си леко да модифицирам твоето решение в частта, където парсваш resource:

if (url[0].Contains(":"))
            {
                protocol = url[0].Replace(":""");
                server = url[1];
                startResourceParsing = 2;
            }
            else
            {
                server = url[0];
                startResourceParsing = 1;
            } 
            for (int i = startResourceParsing; i < url.Length; i++)
                resource = string.Join("/", resource, url[i]);
1
annsta avatar annsta 305 Точки

Благодаря за идеята! Наистина не съм обърнала внимание, че и индексът на resource се отмества при липса на protocol (очевидно и Judge също не тества този случай).

0
quickben avatar quickben 966 Точки

Виж System.Uri, но ме съмнява, че се иска да се използва държавния клас в тази задача иначe по-спомен с него става с един два реда цялата работа.

2
07/06/2016 16:15:21
Martotko avatar Martotko 88 Точки

Ще го разгледам. Благодаря! 

1
07/06/2016 16:34:25
mishomihaylov avatar mishomihaylov 67 Точки

Хора някои може ли да ми каже, защо не ми минават 4 теста. Използвах регекс за тази задача. Ето кода: http://pastebin.com/hWs0ehkH

0
Gesh4o avatar Gesh4o Trainer 305 Точки

Здравей,

Аз също реших да ползвам регекс за тази задача и с доста усилия стигнах 90/100. Решавайки задачата обаче стигнах до заключението, че в тестовете се подават входове, които нямат едно от трите изисквани неща, а понякога има само едно. В този смисъл групите на регекса се чупят и се получава невалиден изход.

Поздрави!

3
tihomirj avatar tihomirj 33 Точки

Mishomihaylov,  струва ми се, че не парсваш числа и големи букви, пробвай следното:

www.nakov.com/test1/test2/test3

Като ти промених кода да парсва и числа, и големи букви пак не минават 4 теста - озадачен съм :(

Остава в тестовете да има други протоколи, които не ги хващаш c Regex.

2
10/06/2016 00:18:27
VladoGenov avatar VladoGenov 45 Точки

Ето и моето: http://pastebin.com/f9t1Ugjg
в кода съм направил 2 решение (едното е закоментирано)
с List-решение и без List

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