Advertisement
vladovip

JS FUND FINEX_ Imitation Game

May 7th, 2022
1,276
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function ImitationGame( inputArr) {
  2.  
  3.     let message = inputArr.shift();
  4.     let commandLine = inputArr.shift();
  5.  
  6.     while ( commandLine != "Decode"   ){
  7.         let tokens = commandLine.split("|");
  8.         let command = tokens[0];
  9.         // console.log(command);
  10.         if (command == "Move"){
  11.             let numberLetters = +tokens[1];
  12.             let slicedStr = message.slice(0, numberLetters);
  13.             message = message.replace(slicedStr,"");
  14.             message = message+slicedStr;
  15.             // console.log(message);  // ezzH
  16.         }
  17.  
  18.         if ( command == "Insert"){  // zzHe
  19.             let index = +tokens[1];
  20.             let value = tokens[2];
  21.             let leftpart = message.slice(0, index);
  22.             let rightpart = message.slice(index, message.length);
  23.             message = leftpart+value+rightpart;
  24.         }
  25.         if ( command == "ChangeAll" ){
  26.  
  27.             let subStr = tokens[1];
  28.             let replacement = tokens[2];
  29.             // console.log(subStr, replacement );
  30.             let arrMessage = message.split("");
  31.             // console.log(arrMessage);
  32.            for (let index = 0; index < arrMessage.length; index++) {
  33.                if ( subStr == arrMessage[index]  ){
  34.                 arrMessage[index]=replacement
  35.                }
  36.            }
  37.              message = arrMessage.join("");
  38.             // console.log(message);    
  39.         }
  40.  
  41.         commandLine = inputArr.shift();  
  42.     }
  43.  
  44.     console.log(`The decrypted message is: ${message}`);
  45.  
  46. }
  47.  
  48. ImitationGame(["zzHe", "ChangeAll|z|l", "Insert|2|o", "Move|3", "Decode"]);
  49.  
  50. console.log(`-------------`);
  51.  
  52. ImitationGame([
  53.   "owyouh",
  54.   "Move|2",
  55.   "Move|3",
  56.   "Insert|3|are",
  57.   "Insert|9|?",
  58.   "Decode",
  59. ]);
  60.  
  61. // 100 points in judge.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement