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

[Exam Problems] JavaScript юли 2014, решения

Здравейте колеги, нека тук продължим добрата практика за споделяне и събиране на едно място на решените задачи от изминалия изпит от JavaScript Basics курса.

 

Оттук могат да бъдат свалени изпитните варианти /задачи, тестове и авторски решения/:

Задачи от JS Basics изпит - 27 юли 2014

Задачи от JS Basics изпит - 28 юли 2014

Задачи от JS Basics изпит - 29 юли 2014

 

И връзка към вече отворените за практикуване съзтезания:

JavaScript Basics Exam - 27 July 2014

JavaScript Basics Exam - 28 July 2014

JavaScript Basics Exam - 29 July 2014

4
JavaScript Fundamentals
DNNdrago avatar DNNdrago 145 Точки

Ето моите решения на задачите от 27ми, неделя. Кодът е напълно натурален без каквато и да е била корекция:

 

01. Build a Table 

02. Reveal Triangles - тук извличам максимума от 'странностите' на JavaScript-a, възможно е излизане от границите на стринга, който е на "горния" ред, но в такъв случай се сравнява кой да е символ с undefined, което си връща false. Излишно е да споменавам, че кодът си е абсолютно не оптимизиран.

03. Extract Hyperlinks - моята мъка, не ми се коментира дори xD

04. Concerts - като си видях решението преди малко направо се стреснах...

 

 

3
Dekameron avatar Dekameron 481 Точки

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

0
lostm1nd avatar lostm1nd 121 Точки

Може да влезеш в judge системата на дадения изпит и там ще ти покаже всички решения, които си пуснал. До тях има един бутон View, къде може да си видиш и самия код.

1
RoYaL avatar RoYaL Trainer 6845 Точки

Като отвориш изпита от джъджа, вместо Practice му кликаш върху името и ти излизат твоите submission-и

3
dani_ddd avatar dani_ddd 82 Точки

Ето я моята малка гордост - трета задача от изпита на 27-ми без ниго един регулярен израз embarassed

03. Extract Hyprlinks

3
VenIT avatar VenIT 63 Точки

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

1-Double-Rakiya-Numbers  100/100

2-String-Matrix-Rotation  100/100

 

4-Soccer-Results   40/100  така и не успях да я оправя, но към края на изпита става все по-трудно да се концентрираш.

3 задача така и не ми даде повече от 20т .
За regEx мнението ми е,че в повечето случаи е едно трудно четимо кафяво нещо . :) 

 

2
lostm1nd avatar lostm1nd 121 Точки

Вие с DNNdrago явно сте се наговорили да не ползвате JSON обекта ;>. Аз честно казано сигурно нямаше да мога да я реша по вашия начин ако не бях ползвал наговото JSON.

0
p.ivanov avatar p.ivanov 0 Точки

Аз решавах само една задача. Между 1 и 2 часа ми отне да измисля нещо по Prices Trend Table уж работещо. И към 2 часа се опитвах да разбера защо judge-то не ми го харесва и ми дава само 10 точки. Другите не се и опитах, а си хванах пътя smile. Някой ако може да ми обясни каде съм объркал. Благодаря предварително.

http://pastebin.com/vFu3WUX1

На всички проверки ми изкарва правилен output. Струва ми се, че от начина, който искат да се взима input-a или разпечатва output-a, но ще е много кофти ако е от това.

0
RoYaL avatar RoYaL Trainer 6845 Точки

Тук проблемът ти идва не от друго, а от това, че всъщност не си разбрал как ще дойде инпута.

Многократно беше обяснявано и написано, че всеки нов ред във входа е нов ключ в масива.

Т.е. вход:

36.333

36.5

37.019

и т.н.

няма да дойде като ["36.333 36.5 37.019"] а като  ["36.333", "36.5", "37.019"] 

В твоя случай входът няма да е масив от един ключ разделени с интервал входове, а масив от N на броя ключа. Твоя пример би изглеждал с вход:

prices(['36.333', '36.5', '37.019', '35.4', '35', '35.001', '36.225']);

 

Съответно парсирането на входа би било по input[N], а не по input[0]

 

В този случай, няма нужда дори от сплитване, след като на теб масив като структура ти е напълно подходяща:

 

   var nums = new Array();


   for (var i = 0; i < input.length; i++) {

            nums.push(parseFloat(input[i]).toFixed(2));       

    }

 

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

7
a_rusenov avatar a_rusenov 1103 Точки

Поствам моите решения, непроменeни, от изпита на 29 юли:

01.Prices Trends - тук трябва да се вземе предвид, че .toFixed() връща стринг и при сравняването много от тестовете гърмят, понеже "числата" се сравняват лексикографски.

02.Tetris Shapes - проверката за фигура става с метода checkFigure(). Той се извиква във всяка клетка, общо 7 пъти, по веднъж за всяка фигура, като приема за аргументи координатите на 4 клетки от матрицата, и връща 1, ако всички те съдържат 'o'.

03.Biggest Table Row - тук единственото трудно сякаш е regex-а. В случая split-нах по [^0-9-.], което е всичко останало без тези символи.

04.Students, Courses, Grades - доста недоизпипано решение, като например вместо да слагам оценките и присъствията в масиви и после да ги деля на общата дължина, добавям допълнителнa промелнива count..

2
Aluin avatar Aluin 76 Точки

И аз ще постна моите две задачки от 29.07 само и само да се позабавлявате с ламерски код.. Особено трета задача която ми даде 90 точки, е брутално написана, но все пак успях да извлека нужните стойности след 100 сплитвания, сума ти темп променливи и какво ли не глупости, само защото не разбирам много regex .. Съответно след като видях тестовете, не ми смята минусовите стойности и въобще смешна история.. Сложила съм и инпут данните за по лесно

01 Prices Trends 

03 Biggest Table Row

1
Desso avatar Desso 146 Точки

Едва ли някой е решил първа задача [Double Rakiya Numbers] на изпита от 28ми по по-дърварски начин от моя ;))

цък тук

2