Loading...
Nick1R1 avatar Nick1R1 115 Точки

Подготовка за изпита на 31.01 по JavaScript Basics и неразбирателство с Judge-а

 Здравейте, реших да пробвам една задача от предишния изпит и проучих как се правят инпутите за джъдж-а. И тъкмо си мислех, че съм ги разбрал докато джъдж-а нещо не ме хареса. Моля ви кажете ми дали решението на задачата Kitodar the Miner от последния изпит ми е проблемно или не съм направил така че да се приемат правилно инпутите.. http://pastebin.com/cPsFEt83

1
JavaScript Fundamentals
malkstor avatar malkstor 348 Точки

Здрасти колега, входа и изхода са ти наред, имаш минаващ тест все пак :)

Числата, които изкарваш като резултат не са наред, можеш да видиш резултатите от нулевите тестове като цъкнеш на "Детайли" в дясно от резултатите в Judge.

0
enevlogiev avatar enevlogiev 1168 Точки

Правилно взимаш инпут, но решението е проблемно : )

0
npaunov avatar npaunov 51 Точки

Да, решението трябва да се погледне. Правиш Split(), по space, което според мен не е удачно за тази задача, въпреки че в условието се казва "You may find one or more whitespaces as separator.", което подвежда.

Пробемът в случая е името на мината, което може да съдържа space, както и двуеточие, т.е. след като направиш Split, не можеш да предвидиш колко ще е дълъг, новополучения масив.

Единият вариант е да напишеш удачен Regex.

И другият е да направиш Split() по ":" и по "-", като трябва да си сигурен че винаги взимаш последните, заради името на мината, в което също може да се съдържат.
Ето моето решение, по втория вариант.

0
18/01/2016 14:35:17
Nick1R1 avatar Nick1R1 115 Точки

Хора, аз пак не мога да се оправя, идеята е че долу имам хардкоднат първия тест като коментари, като го сменя с втория тест си минава и втория. Махам коментарите и на конзолата е ок, закоментирам пак и  и джъджа не ми дава първи тест, че ми е ок. Иначе този проблем с разстоянията съм го решил с фунцкията clean(). На втория пример има повече от един спейс и тази функция го зачиства и си вади коректен аутпут, но пак казвам само на конзолатаа.. :(  

 

0
18/01/2016 16:01:36
malkstor avatar malkstor 348 Точки

Колега, опитай да пратиш кода като изтриеш коментираните редове преди това. Спомням си че за Java имаше някакви страннности с Judge и коментирани редове. Може и да са оправени, но за всеки случай.

1
Nick1R1 avatar Nick1R1 115 Точки

http://pastebin.com/sEZLCscq Ето работещо решение с първите два инпута, когате се хардкоуд-нат.. :)

0
moholovka avatar moholovka 169 Точки

Провокиран от темата драснах едно решение което дава 87/100 обаче ако може някой да помогне с два проблема ще съм много благодарен.

1. Ако не декларирам регекса всеки път в цикъла, след успешен мач не ми хваща следващият, който трябва да е успешен. Идеи?

2. Дава ми грешка на 4 тест а отговорите в конзолата ми изглеждат същите.

 

https://github.com/IvanMladenov/JavaScriptBasics/blob/master/ExamProblems/KitodarTheMiner/miner.js

0
18/01/2016 21:40:34
svetvik avatar svetvik 4 Точки

Днес се сблъска със същия проблем. Премахни g накрая на условието.

var regexPattern = /mine.+\-\s+(silver|gold|diamonds):\s+(\d+)/gi;

и го промени на 

var regexPattern = /mine.+\-\s+(silver|gold|diamonds):\s+(\d+)/i;

3
18/01/2016 21:08:36
moholovka avatar moholovka 169 Точки

Браво, благодаря. Това оправи и двата проблема.

1
DiyanTonchev92 avatar DiyanTonchev92 231 Точки

Здравейте, аз също ще използвам темата за да пoпитам за проблем, който имам с Judge.
Решавам тази задача => 01. Build a Table  -  дава ми 80 т. - гърмят ми 3-ти и 10-ти тест. Проверявам ги с Diff Checker - разлика няма, но в джъдж гърми . Toва ми е кодът => http://pastebin.com/KvtPCT7W. Някой може ли да открие проблема? 

0
18/01/2016 21:15:46
DiyanTonchev92 avatar DiyanTonchev92 231 Точки

Няма разлика... Иначе на мен ми е интересно защо при мен дава грешки, решение за 100 винаги мога да си намеря :)

0
18/01/2016 21:50:41
moholovka avatar moholovka 169 Точки

На 10-ти тест превъртане на инта? Други идеи нямам :) 

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