Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve(arr) {
- let fieldSize = arr.shift();
- let field = [];
- let initIndx = arr.shift().split(' ').map(Number);
- for (let i = 0; i < fieldSize; i++) {
- if (initIndx.some(el => el === i)) {
- field.push(1);
- } else {
- field.push(0);
- }
- }
- // console.log(field);
- for (let i = 0; i < arr.length; i++) {
- let curr = arr[i].split(' ');
- if (field[Number(curr[0])] === 1) {
- let addFly = Number(curr[2]);
- if (curr[1] === 'right') {
- while (field[Number(curr[2])] === 1 && Number(curr[2]) < fieldSize) {
- curr[2] = Number(curr[2]) + addFly;
- }
- if (curr[2] > fieldSize - 1 || Number(curr[0]) + Number(curr[2]) > fieldSize - 1) {
- field.splice(Number(curr[0]), 1, 0);
- continue;
- }
- field.splice(Number(curr[0]), 1, 0);
- field.splice(Number(curr[2]), 1, 1);
- } else {
- let startIndex = 0;
- if (Number(curr[2]) < 0) {
- startIndex = (Number(curr[0]) + Number(curr[2]));
- } else {
- startIndex = Number(curr[0]) - Number(curr[2]);
- }
- while (field[startIndex] === 1) {
- startIndex -= addFly;
- }
- field.splice(Number(curr[0]), 1, 0);
- field.splice(startIndex, 1, 1);
- }
- }
- }
- console.log(field.join(' '));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement