Професионална програма
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 1167 Точки

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

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