Advertisement
Guest User

Untitled

a guest
Feb 24th, 2020
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. function solve(input = []){
  2.  
  3. let squad = input.shift().split(` `);
  4.  
  5. for(let i = 0; i < input.length; i++){
  6.  
  7. let [command, name, index] = input[i].split(` `);
  8. let subCommand = name;
  9.  
  10. switch(command){
  11. case `Join`: join(name); break;
  12. case `Jump`: jump(name, index); break;
  13. case `Dive`: dive(subCommand); break;
  14. case `First`: first(subCommand); break;
  15. case `Last`: last(subCommand); break;
  16. case `Print`: print(subCommand); break;
  17. }
  18. }
  19.  
  20. function join(frog){
  21. squad.push(frog);
  22. }
  23.  
  24. function jump(frog, index){
  25. squad.splice(index, 0, frog);
  26. }
  27.  
  28. function dive(index){
  29.  
  30. if(squad[index] !== undefined){
  31. squad.splice(index,1)
  32. }
  33. }
  34.  
  35. function first(subCommand){
  36. if(subCommand > squad.length){
  37. console.log(squad.join(` `));
  38. }
  39. else{
  40. let firsts = squad.filter((i, index) => (index < subCommand))
  41. console.log(firsts.join(` `));
  42. }
  43. }
  44. function last(subCommand){
  45. if(subCommand > squad.length){
  46. console.log(squad.join(` `));
  47. }
  48. else{
  49. console.log(squad.slice(Math.max(squad.length - subCommand, 0)).join(` `));
  50. }
  51. }
  52.  
  53. function print(subCommand){
  54. if(subCommand === `Normal`){
  55. console.log(`Frogs: ${squad.join(` `)}`);
  56. }
  57. else if(subCommand === `Reversed`){
  58. let reversed = squad.reverse()
  59. console.log(`Frogs: ${reversed.join(` `)}`);
  60. }
  61. }
  62. }
  63.  
  64. solve([`Blake Muggy Kishko`,
  65. `Join Kvachko`,
  66. `Dive 0`,
  67. `First 10`,
  68. `Print Reversed`
  69. ])
  70.  
  71.  
  72. solve([`A B C D E F`,
  73. `Join G`,
  74. `Jump Q 3`,
  75. `Last 3`,
  76. `Dive 2`,
  77. `Print Normal`
  78. ])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement