Advertisement
AlexanderHristov

Problem 3 - Post Office

Dec 10th, 2018
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(inputArr) {
  2.  
  3.     let [firstPart, secondPart, thirdPart] = inputArr[0].split('|');
  4.  
  5.     let regExCapitalLetters = /([#$%*&])([A-Z]+)\1/;
  6.     let regExDigits = /\d{2}:\d{2}/g;
  7.  
  8.     let capitalLetters = firstPart.match(regExCapitalLetters)[2];
  9.     let digitsArr = secondPart.match(regExDigits);
  10.     let wordsArr = thirdPart.split(' ');
  11.     let decryptionKeysObj = {};
  12.  
  13.     for (let digit of digitsArr) {
  14.  
  15.         let [letter, length] = digit.split(':');
  16.  
  17.         letter = String.fromCharCode(letter);
  18.  
  19.         if (length.startsWith(0)) {
  20.             length = length.substr(1, 2);
  21.         }
  22.         length = +length;
  23.  
  24.         if (capitalLetters.includes(letter) && length >= 1 && length <= 20) {
  25.             decryptionKeysObj[letter] = length + 1;
  26.         }
  27.     }
  28.  
  29.     for (let word of wordsArr) {
  30.  
  31.         if (Object.keys(decryptionKeysObj).includes(word[0]) && word.length === decryptionKeysObj[word[0]]) {
  32.             console.log(word);
  33.         }
  34.     }
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement