serdarshefketov

MergingSquashing

Nov 26th, 2021 (edited)
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //
  2. let input = [11,'44', '69' ,'46','63','83', '13' ,'62','14','31', '68' ,'87'];
  3.  
  4. let print = this.print || console.log;
  5. let gets = this.gets || ((arr, index) => () => arr[index++])(input, 0);
  6. //  
  7.  
  8. // merging ab and cd = bc
  9. // 42 and 17 = 21
  10. // squashing 42 and 17 = 437 as 2 + 1 = 3   4 3 7
  11.  
  12. let n = +gets();
  13.  
  14. let merged = [];
  15. let squashed = [];
  16. let tempMerge = '';
  17. let tempSquash = '';
  18. let numSquash = 0;
  19. let numToUse = '';
  20. // merging
  21. for(let i = 1; i <= n; i++) {
  22.    
  23.     let num = gets();
  24.     //merging
  25.     if (tempMerge.length < 1) {
  26.         tempMerge += num[1];
  27.     }
  28.  
  29.     else if (tempMerge.length == 1) {
  30.         tempMerge += num[0];
  31.    
  32.  
  33.         if (tempMerge.length == 2) { // 23 true
  34.             merged.push(tempMerge); // push
  35.             tempMerge = num[1];
  36.         }
  37.     }
  38.  
  39.    
  40.  
  41.  
  42.     if(tempSquash.length < 1) {  
  43.  
  44.         numSquash += Number(num[1]);
  45.         tempSquash += num[0];
  46.  
  47.     }
  48.     else if (tempSquash.length == 1) {  
  49.        
  50.         numSquash += Number(num[0]);  
  51.        
  52.         if(numSquash > 9) {
  53.             numToUse = String(numSquash);
  54.             tempSquash += numToUse[1] + num[1];
  55.  
  56.            
  57.         }
  58.         else {
  59.             tempSquash += String(numSquash) + num[1];
  60.         }
  61.  
  62.         numSquash = Number(num[1]); //
  63.        
  64.  
  65.         if(tempSquash.length == 3) {
  66.             squashed.push(tempSquash);
  67.            
  68.             tempSquash = num[0];
  69.         }
  70.     }
  71.    
  72. }
  73. print(merged.join(" "));
  74. print(squashed.join(" "));
  75.  
  76.  
Add Comment
Please, Sign In to add comment