Advertisement
ErolKZ

Untitled

Jan 6th, 2022
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52. function solve(inp) {
  53.  
  54. function shaking(inp) {
  55.  
  56. let str = inp.shift();
  57.  
  58. let subStr = inp.shift();
  59.  
  60. while (true) {
  61.  
  62. let regEx = new RegExp(subStr, 'g');
  63.  
  64. if (str.match(regEx) === null) {
  65.  
  66. console.log('No shake.');
  67.  
  68. break;
  69.  
  70. }
  71.  
  72. if (str.match(regEx).length >= 2) {
  73.  
  74. str = shakingFirstAndLast(str, subStr);
  75.  
  76. subStr = removingFromSubStr(subStr);
  77.  
  78. if (subStr.length === 0) {
  79.  
  80. console.log('No shake.');
  81.  
  82. break;
  83.  
  84. }
  85.  
  86. } else {
  87.  
  88. console.log('No shake.');
  89.  
  90. break;
  91.  
  92. }
  93.  
  94. }
  95.  
  96. return str;
  97.  
  98. }
  99.  
  100.  
  101.  
  102. function shakingFirstAndLast(str, subStr) {
  103.  
  104. let before = str.substring(0, str.indexOf(subStr));
  105.  
  106. let after = str.substring(str.indexOf(subStr) + subStr.length);
  107.  
  108. str = before + after;
  109.  
  110. let before2 = str.substring(0, str.lastIndexOf(subStr));
  111.  
  112. let after2 = str.substring(str.lastIndexOf(subStr) + subStr.length);
  113.  
  114. str = before2 + after2;
  115.  
  116. console.log('Shaked it.');
  117.  
  118. return str;
  119.  
  120. }
  121.  
  122.  
  123.  
  124. function removingFromSubStr(subStr) {
  125.  
  126. let index = Math.floor(subStr.length / 2);
  127.  
  128. let before3 = subStr.substring(0, index);
  129.  
  130. let after3 = subStr.substring(index + 1);
  131.  
  132. subStr = before3 + after3;
  133.  
  134. return subStr;
  135.  
  136. }
  137.  
  138.  
  139.  
  140. console.log(shaking(inp));
  141.  
  142.  
  143. }
  144.  
  145.  
  146. solve(
  147.  
  148. [
  149.  
  150. 'astalsastavisasta baby',
  151.  
  152. 'sta'
  153.  
  154. ]
  155.  
  156. );
  157.  
  158.  
  159. // solve(
  160.  
  161. // [
  162.  
  163. // '##mtm!!mm.mm*mtm.#',
  164.  
  165. // 'mtm'
  166.  
  167. // ]
  168.  
  169. // );
  170.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement