Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solution(arr){
- let mainArr = arr.shift().split(' ');
- let result = '';
- for(let elements of arr){
- if(elements === 'End'){
- break;
- }
- let token = elements.split(' ');
- let command = token.shift();
- switch(command){
- case 'Switch':
- let ind = Number(token[0]);
- if(ind < 0 || ind >= mainArr.length){
- break;
- }
- if(mainArr.indexOf(ind) === -1){
- if(mainArr[ind] > 0){
- // mainArr[ind] *= -1;
- let num = -Math.abs(mainArr[ind]);
- mainArr.splice(ind,1,num);
- }else{
- // mainArr[ind] *= 1;
- let num = Math.abs(mainArr[ind]);
- mainArr.splice(ind,1,num);
- }
- }
- ;break;
- case 'Change':
- let index = Number(token[0]);
- if(index<0 || index >= mainArr.length){
- break;
- }else{
- if(mainArr.indexOf(index) === -1){
- let newIndex = Number(token[1]);
- mainArr.splice(index,1,newIndex);
- }
- }
- ;break;
- case 'Sum':
- switch(token[0]){
- case 'Negative':
- let sumNegative = 0
- let negative = mainArr.filter(a => a < 0);
- for(let ind of negative){
- sumNegative += Number(ind);
- }
- console.log(sumNegative);
- ;break;
- case 'Positive':
- let sumPositive = 0;
- let positive = mainArr.filter(a => a > 0);
- for(let ind of positive){
- sumPositive += Number(ind);
- }
- console.log(sumPositive);
- ;break;
- case 'All':
- let sumAll = 0;
- for(let ind of mainArr){
- sumAll += Number(ind);
- }
- console.log(sumAll);
- ;break;
- };break;
- }
- }
- for(let i = 0;i < mainArr.length;i++){
- if(mainArr[i] >= 0){
- result += mainArr[i] + ' ';
- }
- }
- console.log(result)
- }
- solution([
- // '1 2 3 4 5',
- // 'Switch 4',
- // 'Change 0 -3',
- // 'Sum Negative',
- // 'End'
- '1 2 3 4 5 4 3 2 1 0',
- 'Switch -4',
- 'Change 13 0',
- 'Switch 0',
- 'Sum All',
- 'End'
- ])
Advertisement
Add Comment
Please, Sign In to add comment