Advertisement
panayotsky-dev

6-sirma

Oct 2nd, 2023
681
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(array,commands){
  2.   let shadow = [...array]
  3.  
  4.   commands.forEach((element) => {
  5.      
  6.       let [action, ...params] = element.split(' ')
  7.       switch(action){
  8.           case'destroy':
  9.               {
  10.                   const indexToRemove = Number(params[0])
  11.                  if(indexToRemove>=0){
  12.                   shadow.splice(indexToRemove,1)
  13.                  
  14.                  }
  15.                  console.log(shadow)
  16.                  break;
  17.               }
  18.           case 'swap':
  19.               {
  20.                   const index1 = Number(params[0])
  21.                   const index2= Number(params[1])
  22.                   if(index1 >= 0 && index1< shadow.length && index2 >= 0 && index2 < shadow.length){
  23.                       [shadow[index1], shadow[index2]] = [shadow[index2], shadow[index1]]
  24.                       console.log(shadow)
  25.                   }
  26.                   break;
  27.               }
  28.           case 'add':
  29.               {
  30.                   const newId = Number(params[0])
  31.                   shadow.push(newId)
  32.                   console.log(shadow)
  33.                   break;
  34.               }
  35.           case 'insert':{
  36.               const newId = Number(params[0])
  37.               const insertIndex = Number(params[1])
  38.               if (insertIndex >= 0 && insertIndex <= shadow.length) {
  39.                   shadow.splice(insertIndex, 0, newId);
  40.                   console.log(shadow)
  41.               }
  42.           }
  43.           case 'center':
  44.               {
  45.                   const length = shadow.length
  46.                   if(length % 2 === 0){
  47.                       const middleOne = length /2 -1
  48.                       const middleSecond = length / 2
  49.                       console.log(`${shadow[middleOne]} ${shadow[middleSecond]}`)
  50.                   }else{
  51.                       const middle = Math.floor(length/2)
  52.                       console.log(shadow[middle])
  53.                   }
  54.                   break;
  55.               }
  56.              
  57.       }
  58.   });
  59.  
  60.   }
  61.   solve([1, 2, 3, 4, 5],
  62.       ["destroy 3",
  63.       "swap 0 1",
  64.       "add 6",
  65.       "center"]
  66.       )
  67.       solve(
  68.           [1, 2, 3, 4, 5],
  69.   ["add 6",
  70.   "swap 0 5",
  71.   "swap 1 4",
  72.   "swap 2 3",
  73.   "swap 2 100",
  74.   "swap 2 2",
  75.   "center"])
  76.  
  77.   //     )
  78.   //     solve(
  79.   //         [1, 2],
  80.   // ["insert 3 2",
  81.   // "center",
  82.   // "destroy 1",
  83.   // "destroy 2",
  84.   // "center"]
  85.  
  86.   //     )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement