Advertisement
Guest User

Untitled

a guest
Nov 15th, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.76 KB | None | 0 0
  1. function solve(arr) {
  2.  
  3. arr.shift().split(`:`)
  4. let result = [];
  5.  
  6. for (elements of arr) {
  7. let [command, card, index] = elements.split(` `);
  8.  
  9. if (command === `Ready`) {
  10. break;
  11. }
  12. switch (command) {
  13. case `Add`:
  14. if (!result.includes(card)) {
  15. result.push(card);
  16. } else {
  17. console.log(`Card not found.`);
  18. }
  19. break;
  20. case `Insert`:
  21. let index1 = Number(index);
  22. if (!result.includes(card)) {
  23. result.unshift(card)
  24. }
  25. else if (index1 >= result.length && !result.includes(card)) {
  26. console.log(`Card not found.`);
  27. }
  28. break;
  29. case `Remove`:
  30. if (result.includes(card)) {
  31. let removeIndex = result.indexOf(card);
  32. result.splice(removeIndex, 1)
  33. } else {
  34. console.log(`Card not found.`)
  35. }
  36. break;
  37. case `Swap`:
  38. let indexSwap1 = result.indexOf(card);
  39. let indexSwap2 = result.indexOf(index);
  40. result.splice(indexSwap1 + 1, 1, card)
  41. result.splice(indexSwap2 - 1, 1, index)
  42.  
  43. break;
  44. case `Shuffle`:
  45. result.reverse();
  46. break;
  47. }
  48. }
  49. console.log(result.join(` `));
  50. }
  51. solve([
  52. 'Wrath:Pounce:Lifeweaver:Exodia:Aso:Pop',
  53. 'Add Pop',
  54. 'Add Exodia',
  55. 'Add Aso',
  56. 'Remove Wrath',
  57. 'Add SineokBqlDrakon',
  58. 'Shuffle deck',
  59. 'Insert Pesho 0',
  60. 'Ready'
  61. ]
  62. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement