Advertisement
kstoyanov

01. Secret Chat js exam

Aug 7th, 2020
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(input) {
  2.   let message = input.shift();
  3.  
  4.   const commands = (command, firstArgument, secondArgument) => {
  5.     let hasError = false;
  6.  
  7.     switch (command) {
  8.       case 'InsertSpace':
  9.         message = `${message.substring(0, Number(firstArgument))} ${message.substring(Number(firstArgument))}`;
  10.         break;
  11.       case 'Reverse':
  12.         if (message.includes(firstArgument)) {
  13.           message = message.replace(firstArgument, '');
  14.           let reversedSubstring = '';
  15.           for (const char of firstArgument) {
  16.             reversedSubstring = char + reversedSubstring;
  17.           }
  18.           message += reversedSubstring;
  19.         } else {
  20.           console.log('error');
  21.           hasError = true;
  22.         }
  23.         break;
  24.       case 'ChangeAll':
  25.         while (message.includes(firstArgument)) {
  26.           message = message.replace(firstArgument, secondArgument);
  27.         }
  28.         break;
  29.       default:
  30.     }
  31.  
  32.     if (!hasError) {
  33.       console.log(message);
  34.     }
  35.   };
  36.  
  37.  
  38.   let line = input.shift();
  39.   while (line !== 'Reveal') {
  40.     const [command, firstArgument, secondArgument] = line.split(':|:');
  41.  
  42.  
  43.     commands(command, firstArgument, secondArgument);
  44.  
  45.  
  46.     line = input.shift();
  47.   }
  48.  
  49.   console.log(`You have a new text message: ${message}`);
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement