Професионална програма
Loading...
+ Нов въпрос
willystyle avatar willystyle 2420 Точки
Best Answer

Виждам 2 грешки но още не е отворен judge за да се провери.

1) ред 17 let result = validPairs.length / 2;

2) ред 36 for (i = 0; i < mirrorWords.length; i = i + 2) {

но предлагам и рефактор да го пробваш (ползвам exec вместо matchAll понеже съм със стара версия на nodejs)

function solve([input]) {
    let regexp = /([@#])(?<word1>[A-Za-z]{3,})\1{2}(?<word2>[A-Za-z]{3,})\1/g;
    let validPairs = [];
    let validPair = null;
    while (validPair = regexp.exec(input)) {
        validPairs.push(validPair.groups);
    }
    console.log(validPairs.length ? `${validPairs.length} word pairs found!` : 'No word pairs found!');
    let mirrorWords = validPairs.filter(pair => isMirrorPair(pair));
    if (mirrorWords.length) {
        console.log('The mirror words are:');
        console.log(mirrorWords.map(pair => `${pair.word1} <=> ${pair.word2}`).join(', '))
    } else {
        console.log('No mirror words!');
    }

    function isMirrorPair(pair) {
        return pair.word1 === pair.word2.split('').reverse().join('');
    }
}

 

0
nadinka avatar nadinka 8 Точки

Благодаря. Надявам се днес да отворят изпита в judge и да може да се тества. :) 

1
nadinka avatar nadinka 8 Точки

Отвориха изпита - това са ми били грешките, да. :)

Твоят вариант  с exec също работи и дава 100 точки.

1
nadinka avatar nadinka 8 Точки

Мерси.

1