ErolKZ

Untitled

Oct 20th, 2021
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. function solve(arr) {
  2.  
  3.  
  4. let targets = arr.shift().split(' ').map(Number);
  5.  
  6. let i = 0;
  7.  
  8.  
  9.  
  10.  
  11. while (arr[i] !== 'End') {
  12.  
  13. let curr = arr[i].split(' ');
  14.  
  15.  
  16. switch (curr[0]) {
  17.  
  18. case 'Shoot':
  19.  
  20. if (Number(curr[1]) < targets.length && Number(curr[1]) >= 0) {
  21.  
  22. targets[Number(curr[1])] -= Number(curr[2]);
  23.  
  24. if (targets[Number(curr[1])] <= 0) {
  25.  
  26. targets.splice(Number(curr[1]), 1);
  27.  
  28. }
  29.  
  30. }
  31.  
  32. break;
  33.  
  34.  
  35. case 'Add':
  36.  
  37. if (Number(curr[1]) < targets.length && Number(curr[1]) >= 0) {
  38.  
  39. targets.splice(Number(curr[1]), 0, Number(curr[2]));
  40.  
  41. } else {
  42.  
  43. console.log(`Invalid placement!`);
  44.  
  45. }
  46.  
  47. break;
  48.  
  49.  
  50. case 'Strike':
  51.  
  52. if (Number(curr[1]) + Number(curr[2]) < targets.length && Number(curr[1]) - Number(curr[2]) >= 0) {
  53.  
  54. let deleteCount = Number(curr[2]) * 2 + 1;
  55.  
  56. targets.splice(Number(curr[1]) - Number(curr[2]), deleteCount);
  57.  
  58. } else {
  59.  
  60. console.log(`Strike missed!`);
  61.  
  62. }
  63.  
  64. break;
  65.  
  66. }
  67.  
  68. i++;
  69. }
  70.  
  71.  
  72. console.log(targets.join('|'));
  73.  
  74.  
  75. }
  76.  
Advertisement
Add Comment
Please, Sign In to add comment