AreWe

Diagonal Attack

Jun 9th, 2020
772
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (arr) => {
  2.     const split = (string, ch) => {
  3.         let array = [], item = '';
  4.         const len = string.length;
  5.         for(let i = 0; i < len; i++) {
  6.             if(string[i] !== ch) {
  7.                 item += string[i];
  8.             } else {
  9.                 array[array.length] = item;
  10.                 item = '';
  11.             }
  12.         }
  13.         array[array.length] = item;
  14.         return array;
  15.     };
  16.  
  17.     let matrix = [], len = arr.length;
  18.     for(let i=0; i<len; i++) {
  19.         let row = split(arr[i], ' ');
  20.         for(let j = 0; j < row.length; j++) {
  21.             row[j] = Number(row[j]);
  22.         }
  23.         matrix[i] = row;
  24.     }
  25.  
  26.     let sumMain = 0, sumSecond = 0;
  27.     for(let i=0; i<len; i++) {
  28.         for(let j=0; j<len; j++) {
  29.             if(i === j) sumMain += matrix[i][j];
  30.             if(i+j === len-1) sumSecond += matrix[i][j];
  31.         }
  32.     }
  33.  
  34.     if(sumMain === sumSecond) {
  35.         for(let i=0; i<len; i++) {
  36.             for(let j=0; j<len; j++) {
  37.                 if(i === j || i + j === len-1) continue;
  38.                 matrix[i][j] = sumMain;
  39.             }
  40.         }
  41.     }
  42.  
  43.     let output = '';
  44.  
  45.     for(let row = 0; row < matrix.length; row++) {
  46.         for(let col = 0; col < matrix[row].length; col++) {
  47.             output += `${matrix[row][col]} `;
  48.         }
  49.         output += '\n';
  50.     }
  51.  
  52.     console.log(output);
  53. }
Advertisement
Add Comment
Please, Sign In to add comment