Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

Nikola3132 avatar Nikola3132 6 Точки

04. MOBA Challenger

Зравейте колеги, някой от вас ще ми помогне ли да отркрием къде греша.В judge ми минават само 70 точки другите 30 си нямам идея от къде гърмят.Задачата е изпитна -25 April 2018 Part II Fundamentals.

 

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

КОД:https://pastebin.com/JVtTZpra

 

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

Тагове:
0
Programming Fundamentals
Vesso1980 avatar Vesso1980 486 Точки
Best Answer

Здрасти, малко промених една част от кода ти и даде 100%. Това беше частта с битките при вариант " vs ". Промених ти малко и начина на сплитване. В проблемната част доста беше усложнил логиката и предполагам, затова ти гърмяха някои от тестовете. Също добре е да кръщаваш променливите с имена, които показват какво правят. Ти си ги знаеш като пишеш кода, но когато друг трябва да чете, започва да се чуди и не е много интуитивно. Примерно имаше един списък , който се казваше remember , това име не дава никаква информация какво и защо трябва да се запише в него. Или булева променлива с име trueFalse, това също нищо не ми говори освен че е булева променлива, за което мога да се сетя от нейния тип. Аз имах същоя проблем и, когато понякога ми се налагаше да се върна и да погледна някоя задача от преди няколко месеца, се чудих кое за какво съм го писал. Та е добра практика да имаш по описателни имена на променливите.

ето работещия код - https://pastebin.com/Tc1Tqwtk

1
Nikola3132 avatar Nikola3132 6 Точки

Здравей колега, видях сплита как е направен с Regex ,но проблемът е там ,че аз още не съм стигнал до него като материал :D. Предполагам и грешката ми идва от там.До колкото имената си наистина прав. Трябва да почна да обръщам по-вече внимание и на това. Благодаря още веднъж :).Поздарви!

0
Vesso1980 avatar Vesso1980 486 Точки

Аз не съм сигурен, че имаше проблем в твоя сплит, но оставя потенциал за грешка, защото ти сплитваш по "vs", което  в някаква ситуация може да се съдържа в самите имена и тогава да ти сплитне на места където не би искал. А когато си сложиш и спейсовете отстрани " vs ". ти гарантира, че няма как да е в някоя от думите. А относно регекса, ти го показах нарочно, защото е много удобен начин да сплитваш, когато трябва да сплитнеш по дума или повече символи под ред. Той приема string pattern и е доста удобен за работа. И това, че не си го учил още не трябва да те спира да си експериментираш. Аз вингаги съм гледал да се движа по-напред от материала, за да имам повече инструменти за справяне с проблемите и тогава, задачите ти стават по - лесни. А и както някои лектори тук в Софтуни обичат да цитират фразата. "Когата единствения инструмент,  с който разполагаш е чук, то всичко започва да ти прилича на пирони". Хайде успех! :)

0
13/06/2018 10:57:02
Nikola3132 avatar Nikola3132 6 Точки

Здрасти колега, открих си грешката преди малко . Бях направил голямата простутия да събирам totalskill-овете във for цикъла където проверявам дали съвпадат скиловете и на двамата ,което е напълно нелогично :D. Извадих го от там и 100 точки и съм много доволен от себе си :).Благодаря ти  много и за съветите да вземам материали от по - напред за мое улеснения . Поздрави!

0
NikolayNeykov92 avatar NikolayNeykov92 617 Точки

Трудно е да се види грешката така, разбий си кода на методи,

които биха се дебъгнали по-лесно.Ето ти едно решение което дава 100/100:

https://pastebin.com/GiD7b2vk

0
Nikola3132 avatar Nikola3132 6 Точки

Благодаря ти колега,ще го погледна :)

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