Професионална програма
Loading...
nikolaynikolov91 avatar nikolaynikolov91 0 Точки

01. The Imitation Game , Final Exam Retake - 15 August 2020

Здравейте искам да попитам защо ми дава 50/100 на задачата 

https://judge.softuni.bg/Contests/Practice/Index/2525#0

 

 

когато използвам

let pattern = RegExp(subStr, 'g');            

myStr = myStr.replace(pattern, replacement)

 

а когато използвам  този код ми дава 100/100 а те са еквивалентни

 

 while(myStr.includes(subStr)){ 

   myStr = myStr.replace(subStr,replacement); 

 }

 

https://pastebin.pl/view/5794be0e

 

Тагове:
0
JavaScript Fundamentals 18/09/2020 19:08:04
mttnu avatar mttnu 82 Точки
Best Answer

Част от тези -50 точки в Judge са заради грешки при изпълнение, което е доста добър жокер.
Проблемът е, че Judge е долен, а ти не покриваш нишовите случаи - специалните знаци ( / [ ] + и т.н.), които трябва да се ескейпнат, иначе regex не ги интерпретира като стринг.

    function changeAll(subStr, replacement) {
        subStr = subStr.replace(/[-[\]/{}()*+?.\\^$|]/g, '\\$&');
        let pattern = new RegExp(subStr, 'g');
        myStr = myStr.replace(pattern, replacement);
    }

 

0