Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve(integers, commands) {
- let currentCommand = commands.shift();
- function add(arr, tokens){
- arr.splice(tokens[0], 0, tokens[1]);
- return arr;
- }
- function addMany(arr, tokens){
- let index = tokens.shift();
- for(let value of tokens){
- arr.splice(index++, 0, value);
- }
- return arr;
- }
- function remove(arr, tokens){
- arr.splice(Number(tokens[0]), 1);
- return arr;
- }
- function shift(arr, tokens){
- for (let i = 0; i < Number(tokens[0]); i++) {
- let element = arr.shift();
- arr.push(element);
- }
- return arr;
- }
- function sumPairs(arr){
- let output = [];
- for (let i = 0; i < arr.length; i=+2) {
- let a = arr[i] || 0;
- let b = arr[i + 1] || 0;
- output.push(a + b);
- }
- return output;
- }
- while(currentCommand !== 'print'){
- let tokens = currentCommand.split(' ');
- let command = tokens[0];
- let value = tokens[1];
- switch(tokens.shift()){
- case 'add':
- integers = add(integers, tokens);
- break;
- case 'addMany':
- integers = addMany(integers, tokens);
- break;
- case 'contains':
- console.log(integers.indexOf(Number(tokens[0])));
- break;
- case 'remove':
- integers = remove(integers, tokens);
- break;
- case 'shift':
- integers = shift(integers, tokens);
- break;
- case 'sumPairs':
- integers = sumPairs(integers, tokens);
- break;
- }
- currentCommand = commands.shift();
- }
- console.log(`[ ${integers.join(', ')} ]`)
- }
Add Comment
Please, Sign In to add comment