Advertisement
svephoto

Mirror Words [JavaScript]

Aug 14th, 2021
1,334
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(input) {
  2.     let text = input.shift();
  3.     let pattern = /([@#])(?<firstWord>[A-Za-z]{3,})\1{2}(?<secondWord>[A-Za-z]{3,})\1/g;
  4.  
  5.     let mirrorWords = [];
  6.     let match;
  7.     let counterForValidPairs = 0;
  8.  
  9.     while ((match = pattern.exec(text)) !== null) {
  10.         counterForValidPairs++;
  11.  
  12.         let { firstWord, secondWord } = match.groups;
  13.         let reversedFirstWord = firstWord.split('').reverse().join('');
  14.  
  15.         if (reversedFirstWord === secondWord) {
  16.             mirrorWords.push(`${firstWord} <=> ${reversedFirstWord}`);
  17.         }
  18.     }
  19.  
  20.     if (counterForValidPairs == 0) {
  21.         console.log("No word pairs found!");
  22.     } else {
  23.         console.log(`${counterForValidPairs} word pairs found!`);
  24.     }
  25.  
  26.     if (mirrorWords.length > 0) {
  27.         console.log(`The mirror words are:`);
  28.         console.log(mirrorWords.join(', '));
  29.     } else {
  30.         console.log("No mirror words!");
  31.     }
  32. }
  33.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement