didkoslawow

Untitled

Jan 21st, 2023
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
JavaScript 1.50 KB | Cryptocurrency | 0 0
  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.           }
  19.         }
  20.         break;
  21.       case 'gale':
  22.         for (let row = 0; row < rowLength; row++) {
  23.           if (map[row][commandValue] - 20 >= 0) {
  24.             map[row][commandValue] -= 20;
  25.           }
  26.         }
  27.         break;
  28.       case 'smog':
  29.         const mapLength = map.length;
  30.         for (let row = 0; row < mapLength; row++) {
  31.           for (let column = 0; column < rowLength; column++) {
  32.             map[row][column] += commandValue;
  33.           }
  34.         }
  35.         break;
  36.     }
  37.   }
  38.  
  39.   let pollutedBlocks = [];
  40.  
  41.   for (let i = 0; i < map.length; i++) {
  42.     for (let j = 0; j < map[i].length; j++) {
  43.       if (map[i][j] >= 50) {
  44.         pollutedBlocks.push(`[${i}-${j}]`);
  45.       }
  46.     }
  47.   }
  48.   if (pollutedBlocks.length === 0) {
  49.     console.log(`No polluted areas`);
  50.   } else {
  51.     console.log(`Polluted areas: ${pollutedBlocks.join(', ')}`);
  52.   }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment