didkoslawow

Untitled

Jan 21st, 2023
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function airPollution(mapInput, commandLine) {
  2.   const map = [];
  3.   mapInput.forEach((element) => {
  4.     map.push(element.split(' ').map(Number));
  5.   });
  6.   const commandLineLength = commandLine.length;
  7.  
  8.   for (let i = 0; i < commandLineLength; i++) {
  9.     const command = commandLine[i].slice(0).split(' ')[0];
  10.     const commandValue = Number(commandLine[i].slice(0).split(' ')[1]);
  11.     const rowLength = map[i].length;
  12.  
  13.     switch (command) {
  14.       case 'breeze':
  15.         for (let column = 0; column < rowLength; column++) {
  16.           if (map[commandValue][column] - 15 >= 0) {
  17.             map[commandValue][column] -= 15;
  18.           } else {
  19.             map[commandValue][column] = 0;
  20.           }
  21.         }
  22.         break;
  23.       case 'gale':
  24.         for (let row = 0; row < rowLength; row++) {
  25.           if (map[row][commandValue] - 20 >= 0) {
  26.             map[row][commandValue] -= 20;
  27.           } else {
  28.             map[row][commandValue] = 0;
  29.           }
  30.         }
  31.         break;
  32.       case 'smog':
  33.         const mapLength = map.length;
  34.         for (let row = 0; row < mapLength; row++) {
  35.           for (let column = 0; column < rowLength; column++) {
  36.             map[row][column] += commandValue;
  37.           }
  38.         }
  39.         break;
  40.       default:
  41.         break;
  42.     }
  43.   }
  44.  
  45.   let pollutedBlocks = [];
  46.  
  47.   for (let i = 0; i < map.length; i++) {
  48.     for (let j = 0; j < map[i].length; j++) {
  49.       if (map[i][j] >= 50) {
  50.         pollutedBlocks.push(`[${i}-${j}]`);
  51.       }
  52.     }
  53.   }
  54.   if (typeof pollutedBlocks !== 'undefined' && pollutedBlocks.length > 0) {
  55.     console.log(`Polluted areas: ${pollutedBlocks.join(', ')}`);
  56.   } else {
  57.     console.log(`No polluted areas`);
  58.   }
  59.   console.table(map);
  60. }
Advertisement
Add Comment
Please, Sign In to add comment