Guest User

Untitled

a guest
Jun 13th, 2020
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.92 KB | None | 0 0
  1. function solve(integers, commands) {
  2. let currentCommand = commands.shift();
  3. function add(arr, tokens){
  4. arr.splice(tokens[0], 0, tokens[1]);
  5. return arr;
  6. }
  7. function addMany(arr, tokens){
  8. let index = tokens.shift();
  9. for(let value of tokens){
  10. arr.splice(index++, 0, value);
  11. }
  12. return arr;
  13. }
  14. function remove(arr, tokens){
  15. arr.splice(Number(tokens[0]), 1);
  16. return arr;
  17. }
  18. function shift(arr, tokens){
  19. for (let i = 0; i < Number(tokens[0]); i++) {
  20. let element = arr.shift();
  21. arr.push(element);
  22.  
  23. }
  24. return arr;
  25. }
  26. function sumPairs(arr){
  27. let output = [];
  28. for (let i = 0; i < arr.length; i=+2) {
  29. let a = arr[i] || 0;
  30. let b = arr[i + 1] || 0;
  31. output.push(a + b);
  32.  
  33. }
  34. return output;
  35. }
  36.  
  37.  
  38.  
  39.  
  40. while(currentCommand !== 'print'){
  41. let tokens = currentCommand.split(' ');
  42. let command = tokens[0];
  43. let value = tokens[1];
  44.  
  45. switch(tokens.shift()){
  46. case 'add':
  47. integers = add(integers, tokens);
  48. break;
  49. case 'addMany':
  50. integers = addMany(integers, tokens);
  51. break;
  52. case 'contains':
  53.  
  54. console.log(integers.indexOf(Number(tokens[0])));
  55.  
  56. break;
  57. case 'remove':
  58. integers = remove(integers, tokens);
  59. break;
  60. case 'shift':
  61. integers = shift(integers, tokens);
  62.  
  63. break;
  64. case 'sumPairs':
  65. integers = sumPairs(integers, tokens);
  66.  
  67. break;
  68. }
  69.  
  70. currentCommand = commands.shift();
  71. }
  72. console.log(`[ ${integers.join(', ')} ]`)
  73. }
Add Comment
Please, Sign In to add comment