Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve(array,commands){
- let shadow = [...array]
- commands.forEach((element) => {
- let [action, ...params] = element.split(' ')
- switch(action){
- case'destroy':
- {
- const indexToRemove = Number(params[0])
- if(indexToRemove>=0){
- shadow.splice(indexToRemove,1)
- }
- console.log(shadow)
- break;
- }
- case 'swap':
- {
- const index1 = Number(params[0])
- const index2= Number(params[1])
- if(index1 >= 0 && index1< shadow.length && index2 >= 0 && index2 < shadow.length){
- [shadow[index1], shadow[index2]] = [shadow[index2], shadow[index1]]
- console.log(shadow)
- }
- break;
- }
- case 'add':
- {
- const newId = Number(params[0])
- shadow.push(newId)
- console.log(shadow)
- break;
- }
- case 'insert':{
- const newId = Number(params[0])
- const insertIndex = Number(params[1])
- if (insertIndex >= 0 && insertIndex <= shadow.length) {
- shadow.splice(insertIndex, 0, newId);
- console.log(shadow)
- }
- }
- case 'center':
- {
- const length = shadow.length
- if(length % 2 === 0){
- const middleOne = length /2 -1
- const middleSecond = length / 2
- console.log(`${shadow[middleOne]} ${shadow[middleSecond]}`)
- }else{
- const middle = Math.floor(length/2)
- console.log(shadow[middle])
- }
- break;
- }
- }
- });
- }
- solve([1, 2, 3, 4, 5],
- ["destroy 3",
- "swap 0 1",
- "add 6",
- "center"]
- )
- solve(
- [1, 2, 3, 4, 5],
- ["add 6",
- "swap 0 5",
- "swap 1 4",
- "swap 2 3",
- "swap 2 100",
- "swap 2 2",
- "center"])
- // )
- // solve(
- // [1, 2],
- // ["insert 3 2",
- // "center",
- // "destroy 1",
- // "destroy 2",
- // "center"]
- // )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement