ErolKZ

Untitled

Nov 29th, 2021
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.31 KB | None | 0 0
  1.  
  2. function solve(input) {
  3.  
  4. let conMess = input.shift();
  5.  
  6.  
  7. while (input[0] !== 'Reveal') {
  8.  
  9. let cur = input.shift().split(':|:');
  10.  
  11. let command = cur[0];
  12.  
  13. let subsOrIndex = cur[1];
  14.  
  15. let replacement = cur[2];
  16.  
  17. let before = '';
  18.  
  19. let after = '';
  20.  
  21.  
  22. if (command === 'InsertSpace') {
  23.  
  24. before = conMess.substring(0, subsOrIndex);
  25.  
  26. after = conMess.substring(subsOrIndex);
  27.  
  28. before += ' ';
  29.  
  30. conMess = before.concat(after);
  31.  
  32. console.log(conMess);
  33.  
  34. } else if (command === 'Reverse') {
  35.  
  36. if (conMess.includes(subsOrIndex)) {
  37.  
  38. let revStr = '';
  39.  
  40. for (let i = subsOrIndex.length - 1; i >= 0; i--) {
  41.  
  42. revStr += subsOrIndex[i];
  43.  
  44. }
  45.  
  46. conMess = conMess.replace(subsOrIndex, revStr);
  47.  
  48. console.log(conMess);
  49.  
  50. } else {
  51.  
  52. console.log('error');
  53.  
  54. }
  55.  
  56. } else if (command === 'ChangeAll') {
  57.  
  58. conMess.split('').forEach(el => el === subsOrIndex ? conMess = conMess.replace(el, replacement) : false);
  59.  
  60. console.log(conMess);
  61.  
  62. }
  63.  
  64.  
  65. }
  66.  
  67.  
  68.  
  69. console.log(`You have a new text message: ${conMess}`);
  70.  
  71. }
  72.  
  73.  
  74. solve(
  75.  
  76. [
  77.  
  78. 'heVVodar!gniV',
  79.  
  80. 'ChangeAll:|:V:|:l',
  81.  
  82. 'Reverse:|:!gnil',
  83.  
  84. 'InsertSpace:|:5',
  85.  
  86. 'Reveal'
  87.  
  88. ]
  89.  
  90. );
  91.  
Advertisement
Add Comment
Please, Sign In to add comment