Мнения и впечатления от изпита по Javascript


1
Тук пишете смело, как е минал изпита, какво мислите и подобни... 



Отговори



1
Утре след последния изпит

от teddyboneva (600 точки)


3
Подготви се за изпит като миналогодишният. Задачите са от същото ниво на сложност - ако това е достатъчно.

от monsterEnergy (954 точки)


8
Окей е да споделяте впечатления и да обсъждате задачи, но изчакайте да мине и последната група. Утре след 22:00 няма да е проблем.

от cuki (7696 точки)


0
OK, предполагам тогава ще се напълни с коментари...

от amens (110 точки)

0
До края на тази седмица ще пуснете ли изпитните задачи за Practice, както и тестове към тях ?

от monsterEnergy (954 точки)



0
Айдееее, време е за коментариии!!! Не можах да направя нищо с Game of Trolls, ако някой има решение моля, споделете!

от amens (110 точки)


0

Написах решение на Game of Trolls , но се бъгна някъде много скришно , също като Хари Потъра  :) :)

function solve(args){ characters = {'Wboup':null,'Nbslbub':null,'Lsjtujzbo':null}; directions = {'r':[1,0],'d':[0,1],'l':[-1,0],'u':[0,-1]}; function DoThing(theField,theCommand){ let command = theCommand.split(' '); if (command[0] === 'mv') { console.log(characters[command[1]]); if (command[1] === 'Lsjtujzbo' || theField[characters[command[1]][0]][characters[command[1]][1]] !== 'M') { let here = characters[command[1]]; let testCords = []; testCords[0] = characters[command[1]][0] + directions[command[2]][0]; testCords[1] = characters[command[1]][1] + directions[command[2]][1]; if (testCords[0] >= 0 && testCords[0] < RC[0] && testCords[1] >= 0 && testCords[1] < RC[1]) { characters[command[1]] = testCords; } } } else { theField[characters['Lsjtujzbo'][0]][characters['Lsjtujzbo'][1]] = 'M'; } CheckResults(theField); } function CheckResults(theField){ let troll1Pos = characters['Wboup']; let troll2Pos = characters['Nbslbub']; let princessPos = characters['Lsjtujzbo']; if (troll1Pos[0] === troll2Pos[0] && troll1Pos[1] === troll2Pos[1]) { theField[troll1Pos[0]][troll1Pos[1]] = '-'; } else if (Math.abs(troll1Pos[0]-princessPos[0]) <= 1 && Math.abs(troll1Pos[1]-princessPos[1]) <= 1) { console.log('The trolls caught Lsjtujzbo at '+princessPos[0]+' '+princessPos[1]); startIndex = 9999999; } else if (Math.abs(troll2Pos[0]-princessPos[0]) <= 1 && Math.abs(troll2Pos[1]-princessPos[1]) <= 1) { console.log('The trolls caught Lsjtujzbo at '+princessPos[0]+' '+princessPos[1]); startIndex = 9999999; } else if (princessPos[0] === RC[0] - 1 && princessPos[1] === RC[1] - 1) { console.log('Lsjtujzbo is saved! '+troll1Pos[0]+' '+troll1Pos[1] + ' '+troll2Pos[0]+' '+troll2Pos[1]); startIndex = 9999999; } else if (theField[troll1Pos[0]][troll1Pos[1]] === 'M' && theField[troll2Pos[0]][troll2Pos[1]] === 'M') { console.log('Lsjtujzbo is saved! '+troll1Pos[0]+' '+troll1Pos[1] + ' '+troll2Pos[0]+' '+troll2Pos[1]); startIndex = 9999999; } } RC = args[0].split(' ').map(Number); var field = []; for (let i = 0;i< RC[0];i+=1) { let temp = []; for (let j = 0;j < RC[1];j+=1) { temp.push('-'); } field.push(temp); } let threePos = args[1].split(';'); characters['Wboup'] = threePos[0].split(' ').map(Number); characters['Nbslbub'] = threePos[1].split(' ').map(Number); characters['Lsjtujzbo'] = threePos[2].split(' ').map(Number); startIndex = 2; //global , cough cough// while (startIndex < args.length) { DoThing(field,args[startIndex]); startIndex+=1; } }

Ако някой намери откъде ми се бъгват ходовете ще съм му много благодарен!! :)


от Betastate (341 точки)

4
Ето моето решение

от kolchakov96 (237 точки)


4
Аз бях на изпита на 04.07 от 13:00 и искам да поздравя авторите на задачите... На мен лично ми бяха много интересни, особено задачата с танковете, въпреки, че се скъсах от дебъгване на нея... :-) Бяха решими, нямаше хипер трудни задачи, условията бяха рабираеми, дори стринговата задача, за която не ми стигна малко време да произведа нещо за submit беше с нормална трудност... :-) Наистина евала! За пръв път и условията са разбираеми и задачите са супер адекватни. Поздрави на авторите! :-)

от jorosoft (945 точки)


2
2ра задача (поне за изпита на 04.07) на мен лично ми беше много интересна. Не лесна, но интересна - просто правиш нещо и виждаш, че танкът ти се е преместил и стреля кеф :D Готино беше и в условието - примерното поле с някъв готин шрифт, а не просто някво квадратче право - постарали се бяха според мен : )

от tabula (2134 точки)

2
Да, това имам и аз предвид... :-) Рядко се случва, в повечето случаи задачите са скучни, но като има нещо да ти е интересно и да те жегва така е друго... :-) Решението ми не беше от най-красивите и най-подредените, но определено ми беше интересно докато я решавах задачата... :-)

от jorosoft (945 точки)



1

Аз искам да попитам дали някой може да разгадае тази загадка от изпита на 04.07 18:00 :D

Тестовете да ми минават в WebStorm(тествах и в Sublime, VS Code, Google дебъгера :D) - навсякъде резултатите от нулевите ми тестове са точни, но BgCoder не ми приема втория тест по някаква причина. И на изпита се побърках, защото нямаше време да пререшавам задачата за 40-50 минути и се чудя дали от това ми даваше грешни резултати в някой от другите тестове (като цяло кофти ситуация за изпит :D).

Ето го автентичното ми решение от изпита ТУК (далеч не е най-красивото решение, има неща за оптимизиране, но изглеждаше, че работи - дебъгвах нулевите тестове стъпка по стъпка всичко беше 6).

Та някой, ако има някакви идеи, че аз си бих главата един час на изпита и не го измислих - как така минава всичко в IDE-то (браузъра), ама бг кодера не го харесва :D

P.S. Warningite в WebStorm са за използване на "let", не са някакви грешки, подчертани от компилатора, а от JSLint


от tabula (2134 точки)


6

Малко ще те поправя. WebStorm, Sublime и VS Code не могат да изпълняват javascript. Те викат node. Също така, няма компилатор, js се интерпретира.

Относно проблема: ще бъде разгледан. Твоето решение и при мен върви (поне на примерния тест).


от cuki (7696 точки)

0

Ето го моето решение на втора задача: 

http://pastebin.com/70CCctTb

Тогава се старах да го напиша възможно най-хубаво :Д

2:30 мин дебъгвах на втора и не ми остана да довърша трета :( и имах идея как да я реша.


от Merhatt (1406 точки)



3
Ето моите решения на задачите от 05.07 18:00: линк
Надявам се да са полезни за някого :)



1
Ти беше човека с 300 точки , нали? :)

от Betastate (341 точки)

1
Хах, да. Много лесно ми тръгна изпита. Имах малко проблеми с 2-ра, но другите от първия път 100/100




0
Някой може ли да обясни с думи прости защо комбинацията от следните два реда 
console.log(result);
return result;

Гърми на първа задача от днес вечерта ТОЧНО на половината тестове? Или конзолата се счита за изход, при което връщаната стойност от функцията не би трябвало да е от значение или връщаната стойност се тества. Ако пък и двете се взимат под внимание и се получава дублиране на изхода, то тогава трябва да гърми във всички случаи, а не само при 5 теста и човек да се чуди какво от пределно простата логика на въпросната задача е объркал. 17 минути за да я напиша, после 1 час за да стигна до извода, че едното от двете е излишно. И то само защото имаше подобен проблем с едно от домашните, та ми щукна. Много късно за съжаление. 

от STzvetkov (1330 точки)


2

В една от лекциите, мисля че Коцето, точно предупред да не използваме return за принтене, че е прецакан. За това само ред 1 трябва да ползваш май. Ако ги имаш и двата то само там, където return не принти ще минава :D Май... Ако съм сбъркал поправяйте, pls не хейтвайте, просто се опитвам да мисля...


от amens (110 точки)

0
Изглажда съм пропуснал точно тази лекция и този лектор. Но чудно как от данните на входа се определя как се третира изхода. Да не се overflow-ва return-a при голям result? :-) А иначе, колега, не виждам защо мисловните опити трябва да водя до hate-ване :-)

от STzvetkov (1330 точки)


0
На Game of Trolls съм доста разочарован, че направих цялата задача и минах нулевите тестове, но имах 10 точки..  Ако след верни нулеви се минаваше поне половината други тестове щеше да е доста по.. неотчайващо. Иначе задачата беше доста готина. Чакам другите тестове, за да видя какво ми е липсвало. 

от SexPistols (786 точки)


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

от StoikoNeykov (2621 точки)

1
Nope, това също го направих.

от SexPistols (786 точки)



9
На зачата с троловете, ако ви е интересно кой кой е - вземете имената, извадете 1 от ascii кодовете на символите им и вземете символите с новите кодове :D

от kon.simeonov (5238 точки)


1
Едвам ме нави :D

от pspassova (255 точки)

1
Хах, принцесата ни е един път :D

от Galvaneyes (415 точки)