Ivankooo1

Mirror

Apr 10th, 2020
340
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(input = []) {
  2.   let pattern = /(@|#)(?<partOne>[A-Za-z]{3,})\1\1(?<partTwo>[A-Za-z]{3,})\1/g;
  3.   let text = input.shift();
  4.   let valids = pattern.exec(text);
  5.   let validsCounter = 0;
  6.   let mirrorPairs = [];
  7.   let hasValids = false;
  8.  
  9.   while (valids) {
  10.     hasValids = true;
  11.     let partOne = valids[2];
  12.     let partTwo = valids[3];
  13.     let partTwoReversed = valids[3].split("").reverse().join("");
  14.     let currentMirrorPair = "";
  15.  
  16.     if (partOne === partTwoReversed) {
  17.       currentMirrorPair = partOne + " <=> " + partTwo;
  18.       mirrorPairs.push(currentMirrorPair);
  19.     }
  20.     validsCounter++;
  21.     valids = pattern.exec(text);
  22.   }
  23.  
  24.   if (!hasValids) {
  25.     console.log("No word pairs found!");
  26.   } else {
  27.     console.log(`${validsCounter} word pairs found!`);
  28.   }
  29.  
  30.   if (mirrorPairs.length === 0) {
  31.     console.log("No mirror words!");
  32.   } else {
  33.     console.log("The mirror words are:");
  34.     console.log(mirrorPairs.join(", "));
  35.   }
  36. }
Advertisement
Add Comment
Please, Sign In to add comment