sashomaga

Justify and refacuture text

Mar 30th, 2013
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function Solve(args) {
  2.  
  3.         var limit = parseInt(args[1]);
  4.         var count = parseInt(args[0]);
  5.         var words = [];
  6.         var temp = "";
  7.         for (var i = 0; i < count; i++) {
  8.             temp += args[i + 2]+" ";
  9.         }
  10.         words = temp.match(/[^ ]+/g);
  11.        
  12.         var currentChars = 0;
  13.         var matrix = [];
  14.         var isFull = false;
  15.         var result = "";
  16.         for (var x = 0; words.length > 0; x++) {
  17.            
  18.             matrix[x] = []
  19.             currentChars = 0;
  20.             isFull = false;
  21.             while(currentChars != limit)
  22.             {
  23.                 if (currentChars == 0) {
  24.                     currentChars = words[0].length;
  25.                     matrix[x].push(words.shift());
  26.                     if (words.length == 0) {
  27.                         break;
  28.                     }
  29.                     continue;
  30.                 }                
  31.                 if ((currentChars + 1 + words[0].length) <= limit) {
  32.                     currentChars += 1 + words[0].length;
  33.                     matrix[x].push(" " + words.shift());
  34.                     if (words.length == 0) {
  35.                         for (var i = 1; i < matrix[x].length; i++) {
  36.                             matrix[x][i] = " " + matrix[x][i];
  37.                             currentChars++;
  38.                             if (currentChars == limit) {
  39.                                 break;
  40.                             }
  41.                             if (i == matrix[x].length - 1) {
  42.  
  43.                                 i = 0;
  44.                             }
  45.                         }
  46.                         break;
  47.                     }
  48.                     continue;
  49.                 } else {
  50.                     isFull = true;
  51.                 }
  52.                 if (isFull == true) {
  53.                     if (matrix[x].length == 1) {
  54.                         break;
  55.                     }
  56.                     for (var i = 1; i < matrix[x].length; i++) {
  57.                         matrix[x][i] = " " + matrix[x][i];
  58.                         currentChars++;
  59.                         if (currentChars == limit) {
  60.                             break;
  61.                         }
  62.                         if (i == matrix[x].length - 1) {
  63.                            
  64.                             i = 0;
  65.                         }
  66.                     }
  67.                 }
  68.             }
  69.             result += matrix[x].join("") + "\n";          
  70.         }
  71.         result = result.substring(0,result.length-1);
  72.         return result;
  73.     }
Advertisement
Add Comment
Please, Sign In to add comment