1
/**
2
* @param {number} a
3
* @param {number} b
4
* @return {string}
5
*/
6
var strWithout3a3b = function (a, b) {
7
let r = "";
8

9
let A = "a",
10
AA = A + A;
11
let B = "b",
12
BB = B + B;
13

14
while (a > 0 || b > 0) {
15
if (a > b) {
16
a = calculate(a, A, AA);
17
b = calculate(b, B, BB, true);
18
} else {
19
b = calculate(b, B, BB);
20
a = calculate(a, A, AA, true);
21
}
22
}
23

24
return r;
25

26
function calculate(v, s, ss, l = false) {
27
if (l) {
28
if (v > 0) {
29
(r += s), (v -= 1);
30
}
31

32
return v;
33
}
34

35
let c = v >= 2 && r[r.length - 1] !== s;
36

37
r += c ? ss : s;
38
v -= c ? 2 : 1;
39

40
return v;
41
}
42
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0