Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve(input) {
- let paintingNumbers = input.shift().split(' ').map(Number);
- for (let line of input) {
- if (line === 'END') {
- break
- }
- let tokens = line.split(' ');
- let command = tokens[0];
- if (command === 'Change') {
- let paintingNumber = Number(tokens[1]);
- let changedNumber = Number(tokens[2]);
- let index = paintingNumbers.indexOf(paintingNumber);
- if (index !== -1) {
- paintingNumbers[index] = changedNumber;
- }
- } else if (command === 'Hide') {
- let paintingNumber = Number(tokens[1]);
- let index = paintingNumbers.indexOf(paintingNumber);
- if (index !== -1) {
- paintingNumbers.splice(index, 1);
- }
- } else if (command === 'Switch') {
- let paintingNumber = Number(tokens[1]);
- let paintingNumber2 = Number(tokens[2]);
- let indexOfFirst = paintingNumbers.indexOf(paintingNumber);
- let indexOfSecond = paintingNumbers.indexOf(paintingNumber2);
- if (indexOfFirst !== -1 && indexOfSecond !== -1) {
- paintingNumbers[indexOfFirst] = paintingNumber2;
- paintingNumbers[indexOfSecond] = paintingNumber;
- }
- } else if (command === 'Insert') {
- let index = Number(tokens[1]) + 1;
- let paintingNumber = Number(tokens[2]);
- if (index >= 0 && index <= paintingNumbers.length) {
- paintingNumbers.splice(index, 0, paintingNumber);
- }
- } else if (command === 'Reverse') {
- paintingNumbers.reverse();
- }
- }
- console.log(paintingNumbers.join(' '));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement