Clumsy Factorial LeetCode solution in JavaScript

1
var clumsy = function (N) {
2
let s = [N];
3
let op = "*";
4
for (let i = N - 1; i > 0; i--) {
5
n = s.length;
6
switch (op) {
7
case "*":
8
s[n - 1] *= i;
9
op = "/";
10
break;
11
case "/":
12
s[n - 1] =
13
s[n - 1] < 0
14
? -Math.floor(Math.abs(s[n - 1]) / i)
15
: Math.floor(s[n - 1] / i);
16
op = "+";
17
break;
18
case "+":
19
s.push(i);
20
op = "-";
21
break;
22
case "-":
23
s.push(-i);
24
op = "*";
25
break;
26
}
27
}
28
// console.log(s)
29
let ans = s.reduce((a, b) => a + b);
30
return ans;
31
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0