braveheart1989

my solution 2

Oct 16th, 2016
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function solve(input) {
  2.     let n = Number(input.shift());
  3.     let templatematrix = [];
  4.     let encodedMatrix = [];
  5.     let arr = [];
  6.     let rowCounter = 0;
  7.     let colCounter = 0;
  8.     let encodedNum = 0;
  9.     for (let i = 0; i < n; i++) {
  10.         let line = input[i].split(" ");
  11.         templatematrix.push(line);
  12.     }
  13.     for (let i = n; i < input.length; i++) {
  14.         let line = input[i].split(" ").map(Number);
  15.         encodedMatrix.push(line);
  16.     }
  17.  
  18.     for (let row = 0; row < encodedMatrix.length; row++) {
  19.         for (let col = 0; col < encodedMatrix[row].length; col++) {
  20.             // let rowEnc = rowCounter;
  21.             //     let colEnc = colCounter;
  22.             //     encodedNum = (Number(encodedMatrix[row][col]) + Number(templatematrix[rowEnc][colEnc])) % 27;
  23.             //     colCounter++;
  24.             //     if (colCounter > templatematrix[rowEnc].length) {
  25.             //         colCounter = 0;
  26.             //     }
  27.  
  28.  
  29.             if (n >= 1) {
  30.                 encodedNum = (Number(encodedMatrix[row][col]) +
  31.                     Number(templatematrix[row % templatematrix.length][col % templatematrix[0].length])) % 27;
  32.             }
  33.             else {
  34.                 let rowEnc = rowCounter;
  35.                 let colEnc = colCounter;
  36.                 encodedNum = (Number(encodedMatrix[row][col]) + Number(templatematrix[rowEnc][colEnc])) % 27;
  37.                 colCounter++;
  38.                 if (colCounter > templatematrix[rowEnc].length - 1) {
  39.                     colCounter = 0;
  40.                 }
  41.              }
  42.             let letter = findLetter(encodedNum);
  43.  
  44.             arr.push(letter);
  45.         }
  46.         rowCounter++;
  47.         if (rowCounter > templatematrix.length - 1) {
  48.             rowCounter = 0;
  49.         }
  50.     }
  51.     console.log(arr.join("").trim());
  52.  
  53.     function findLetter(num) {
  54.         let letter = "";
  55.         switch (num) {
  56.             case 0:
  57.                 letter = " ";
  58.                 break;
  59.             case 1:
  60.                 letter = "A";
  61.                 break;
  62.             case 2:
  63.                 letter = "B";
  64.                 break;
  65.             case 3:
  66.                 letter = "C";
  67.                 break;
  68.             case 4:
  69.                 letter = "D";
  70.                 break;
  71.             case 5:
  72.                 letter = "E";
  73.                 break;
  74.             case 6:
  75.                 letter = "F";
  76.                 break;
  77.             case 7:
  78.                 letter = "G";
  79.                 break;
  80.             case 8:
  81.                 letter = "H";
  82.                 break;
  83.             case 9:
  84.                 letter = "I";
  85.                 break;
  86.             case 10:
  87.                 letter = "J";
  88.                 break;
  89.             case 11:
  90.                 letter = "K";
  91.                 break;
  92.             case 12:
  93.                 letter = "L";
  94.                 break;
  95.             case 13:
  96.                 letter = "M";
  97.                 break;
  98.             case 14:
  99.                 letter = "N";
  100.                 break;
  101.             case 15:
  102.                 letter = "O";
  103.                 break;
  104.             case 16:
  105.                 letter = "P";
  106.                 break;
  107.             case 17:
  108.                 letter = "Q";
  109.                 break;
  110.             case 18:
  111.                 letter = "R";
  112.                 break;
  113.             case 19:
  114.                 letter = "S";
  115.                 break;
  116.             case 20:
  117.                 letter = "T";
  118.                 break;
  119.             case 21:
  120.                 letter = "U";
  121.                 break;
  122.             case 22:
  123.                 letter = "V";
  124.                 break;
  125.             case 23:
  126.                 letter = "W";
  127.                 break;
  128.             case 24:
  129.                 letter = "X";
  130.                 break;
  131.             case 25:
  132.                 letter = "Y";
  133.                 break;
  134.             case 26:
  135.                 letter = "Z";
  136.                 break;
  137.         }
  138.         return letter;
  139.     }
  140. }
Add Comment
Please, Sign In to add comment