Advertisement
Guest User

MirrorWords-JS

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