Професионална програма
Loading...
+ Нов въпрос
EBojilova avatar EBojilova 330 Точки

[Exam] JavaScript-Basics 31 Jan 2016

Доста зле се представих днес на изпита, но важното, че съм хванала тромбона :)

Жалко е, тъй като този език много взе да ми допада.

Това са моите решения- ако имате време вижте къдe греша.

Първа е с 75 точки- дава на 2 теста Compile time error. Предполагам при парсването на числата, но правих и филтър и пак не стана.

Втора ми е най-голямата мъка: всички нулеви минават, а дава само 5 точки.

Трета я реших, но не можах да я събмитна, тъй като нямах нет над половин час. Накрая момчетата ме включиха към служебния на Софтуни, но времето не стигна, заради тази глупост. Минава нулевия тест. Още не е тествана в джъдж.

Четвърта дава 100 точки и с нея вързах изпита :)

https://github.com/EBojilova/JavaScriptBasics/tree/master/Homeworks%20and%20Exams/ExamPreparation/Exam%20310116

PS. Всички задачи са фикснати да дават 100 точки, благодарение на колегите от форума.

Тагове:
5
JavaScript Fundamentals 01/02/2016 07:21:31
aanguelov avatar aanguelov 219 Точки

Ето ги моите решения - https://github.com/aanguelov/SoftUni_FrontEnd/tree/master/JS%20ExamPreparation/Exam

На първа и аз бях с два рънтайма, като тримнах даде 100 точки, гледам че ти си тримнала, нз от какво са твоите рънтаймс.

След първа написах четвърта, доста време се чудих над сортирането, накрая се получи по възможно най грозния начин, ама даде и тя 100

После започнах втора, написах някакво решение за 60 точки... и така си остана.

Трета набързо написах регекса (същия като твоя) и решението, даде 30 точки с два мемори лимита и докрая на изпита изобщо не можах да се сетя как да оптимизирам.

1
IliqnK avatar IliqnK 30 Точки

Ето ги и моите рещения https://github.com/iliqnk/JavaScript-Basic/tree/master/20160131, първа и четвърта дават по 100, втора 70 и трета 30. Чакам тестовете, че не мога да измисля какво не е наред на 2. А за трета, може би ако имах повече време останало. 

Като цяло мисля, че беше интересен изпит, но ми се струва, че някои тестове бяха доста .... , ама ще видим като ги качат.

ПП. Кода не е от красивите, ама като за изпит минава.

1
31/01/2016 19:01:03
malkstor avatar malkstor 348 Точки

Ето ги и моите - 100 на първа и четвърта, на втора се изложих с 10, а от трета измъкнах само 30.

Не ги научих тия матрици, ей :(

1
Blaskowitzzz avatar Blaskowitzzz 41 Точки

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

@?# @?#, със N = 2 

също са валидни елементи и трябва да изпише (empty). Ако си заместиш регекса с  '([^ ])\\1' вместо с '(\\d)\\1' решението ти дава 30 точки и ако оправиш това за броя на символите в един елемент сигурно ще ти даде 100. 

Като цяло нулевите тестове на задачите не покриваха почти нищо (което си става доста честа практика на изпитите).

4
31/01/2016 19:55:09
EBojilova avatar EBojilova 330 Точки

Мерси, че отдели време. Пробвах с регекс и с повече символи

([^ ]+)\\1

, но дава само 10 точки. Като правя join('') на елементите, те се сливат и могат да образуват поредица като части от няколко елемента. Явно така няма да стане и трябва да променя цялата задача.

Нямам навика да чета условията и гледах само примерите, което много ме е подвело.

1
01/02/2016 08:43:49
EBojilova avatar EBojilova 330 Точки

Не съм спала заради тази втора задача :) 

Стана и с регекс, така както предложи и за повече символи, но я докарах до 90 точки. Имаш ли идея къде може да е последната грешка?

Като цяло доста съм се прецакала с регекса за тази задача.

https://github.com/EBojilova/JavaScriptBasics/blob/master/Homeworks%20and%20Exams/ExamPreparation/Exam%20310116/2-Filter%20matrix/solveRegexExam.js

0
Blaskowitzzz avatar Blaskowitzzz 41 Точки

Тествах някои гранични случаи и при вход

​solve([
'1 aZ',
'Z',
'2',
]);
​

изкарава: 

1 aZ
(empty)

Явно приема горното 'Z' и долното за еднакви елементи и маха долния. Може би наистина Regex не е най-удачния вариант да се реши тази задача. Интересно ми е авторското решение какво ще е.

1
Angeld55 avatar Angeld55 20 Точки

При първата грешката ти е ,че при сплитването, в началото, се получават няколко елемента на масива ,които са празни! Просто използвай .trim() на входния стринг и ще ти даде 100/100 : ]

4
DiyanTonchev92 avatar DiyanTonchev92 233 Точки

Час и половина търсех под вола теле във формули, закръгляния, сметки, за да добера до 100 от 75 точки, а не се сетих да тримна входящия стринг, тримвах само след като го сплитна... Как да не ме е яд laugh И за пореден път правя малоумната грешка да забивам на една задача, вместо да я зарежа и да давам напред...

2
EBojilova avatar EBojilova 330 Точки

Мерси много, прав си.

Давах филтър на всяка линия за празни елементи, но и така гърмеше на 2 теста. Оказа се, че трябва да тримна и последния инпут, който подава стринга на изпита за средна стойност- там гърмят 2 теста. Загубих за таз чудесия сума ти време.....

0
LoKSET avatar LoKSET 160 Точки

Ето и от мен задачите

Първа  Втора Трета Четвърта

Първите три горе-долу добре (въпреки че в трета го давам малко грубо с регексите :D). На четвърта обаче зациклих, бях поизпушил вече и исках да се свърши по-бързо, така че почнах да правя мега глупостите и го направих колкото да взема 100, иначе ме е срам от нея no

2
31/01/2016 20:54:42
EBojilova avatar EBojilova 330 Точки

Страхотно решение на трета задача.

1
Sanity avatar Sanity Trainer 194 Точки

На първа задача trim-ни преди да split-неш главния input ... Regex-а ти намира whitespace в началото на input-а и съответно при split-а връща празен елемент. Изпи ми душицата докато го намеря. Trim-вай и името на изисквания курс (последния ред input).

1
EBojilova avatar EBojilova 330 Точки

Мерси, стнаха 100 точки, и на мен ми изпи душицата, таз лесничка задача :)

0
Kamigawa avatar Kamigawa 750 Точки

Ето и мойте решения - https://github.com/Vutov/SoftUni/tree/master/JavaScript%20Basics/Exams/Exam-31-01 . Нямам претенции за качество на кода - като цяло се фокусирах върху това да реша всичко максимално бързо с минимални усилия, понеже ме мързеше да идвам на изпита, ама бях решил, че трябва.

По отношение на задачите - 1ва ми хареса - определно беше на ниво. 2ра не и е мястото в този курс, стига с тия конзоли и матрици във JS... не сме на C#. 3та беше интересна, за тестване на регекси - определено става. 4та - извръщение без lodash, за жалост разбрах, че джъджа вече го поддържа чак след като приключих с изпита.

6
31/01/2016 21:52:50
EBojilova avatar EBojilova 330 Точки

Ако имаш време направи едно решение с lodash. Ползвах го на няколко пъти, ама нещо май не нацелвам и ми се получава доста тромав код. Ще ми е интересно да видя решението на тази задача.

0
Kamigawa avatar Kamigawa 750 Точки

Довечера след работа ако ми остане време ще я пререша с него, ако не ще остане за събота/неделя и ще кача кода тук. ;)

1
Kamigawa avatar Kamigawa 750 Точки

https://github.com/Vutov/SoftUni/blob/master/JavaScript%20Basics/Exams/Exam-31-01/04.Lodash.js

Ето решението с лодаш, само в джъджа не успях да го подкарам, може и да го няма накрая там или аз съм неандерталец.

Като цяло преработих 2-3 неща, които са по-лесни с лодаш, останалото си остана от предното решение.

1
bulgaria_mitko avatar bulgaria_mitko 133 Точки

Здравейте колеги, аз леко не схващам какво се случва в първа задача (ето и моето решение - http://pastebin.com/S46hBz27 ) и защо ми дава 50 точки като при условие според мен моя код си е верен. пробвах с 5-ти пример, в който ми се дъни задачата и 

моят резултат от сбора е : "JS-Basics" average points -> 197.8

а на output-a даден в решението е: "JS-Basics" average points -> 195.82

смятах ги. сбора от всички точки на изпитите е 19582 делено на броя на изпити - 99 се получава 197.79999999999

някой може ли да ми обясни какво се лучва и къде греша? 

1
EBojilova avatar EBojilova 330 Точки

countera трябва да ти е 100 на този пример, не 99. Най-добре ползвай масив в който да пълниш стойностите и вместо counter- вземи дължината на масива. Не ти отчита първия път брояча, но не ми става ясно защо. Пробвах различни варианти и пак не отчиташе.

Другото което е, ползвай:

var examToCal = input[input.length - 1].trim();
avg = Number(avg.toFixed(2));
http://stackoverflow.com/questions/3612744/remove-insignificant-trailing-zeros-from-a-number

 

1
01/02/2016 10:53:28
bulgaria_mitko avatar bulgaria_mitko 133 Точки

да сега забелязах какво имаш в предвид, че ми изкарва 99, а не 100, но си нямам и на идея, защо е така и каква е причината!? 

1
EBojilova avatar EBojilova 330 Точки

Когато създаваш нов кус, проверявай към undefined, тъй като ако при първия инпут стойноста е 0, то тя също е falsy :)

Бая ме измъчи, докато разбера, що така става. Първата ми реакция беше да кажа, че нещо JavaScripta e бъгнат :)))

if (output[course] === undefined) {
    output[course] = 0;
    output[course + "counter"] = 0;
}
1