Advertisement
arcsales

Post Office

Dec 11th, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function f(input) {
  2.     let [firstPart, secondPart, thirdPart] = input[0].split('|');
  3.     let arrThirdPart = thirdPart.split(' ');
  4.     let firstPartReg = /\$([A-Z]+)\$|\#([A-Z]+)\#|\%([A-Z]+)\%|\*([A-Z]+)\*|\&([A-Z]+)\&/g;
  5.     let secondPartReg = /([0-9][0-9]\:[0-9][0-9])/g;
  6.     let length;
  7.     let charCode;
  8.     let firstLetters;
  9.     let code = new Map();
  10.     let filteredCode = new Map();
  11.     let sentense = [];
  12.    
  13.     if (firstPart.match(firstPartReg)) {
  14.         let firstLettersArr = firstPart.match(firstPartReg);
  15.         firstLetters = firstLettersArr[0].replace(/[#$%*&]/g, '');
  16.     }
  17.     if (secondPart.match(secondPartReg)) {
  18.         let result = secondPart.match(secondPartReg);
  19.         for (let inputRow of result) {
  20.             [charCode, length] = inputRow.split(':');
  21.             let firstLetter = String.fromCharCode(charCode);
  22.             code.set(firstLetter, length);
  23.         }
  24.     }
  25.     for (let inputRow of firstLetters) {
  26.         if (code.has(inputRow)) {
  27.             let char = code.get(inputRow);
  28.             filteredCode.set(inputRow, Number(char));
  29.         }
  30.     }
  31.     for (let inputRow of filteredCode) {
  32.         for (let inputArr of arrThirdPart) {
  33.             if (inputArr.startsWith(inputRow[0]) && inputArr.length === inputRow[1] + 1) {
  34.                 sentense.push(inputArr);
  35.             }
  36.         }
  37.     }
  38.  
  39.     console.log(sentense.join('\n'));
  40.  
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement