Minimum Number of Frogs Croaking LeetCode solution in JavaScript

1
var minNumberOfFrogs = function (croakOfFrogs) {
2
const croakArr = new Array(5).fill(0); //Array to store occurence of each char
3
let overlap = 0; //Store the number of overlaps
4
for (let i = 0; i < croakOfFrogs.length; i++) {
5
switch (croakOfFrogs[i]) {
6
case "c":
7
croakArr[0] += 1;
8
//Check if new start, is overlapping with others
9
if (croakArr[0] - croakArr[4] - overlap > 1) {
10
++overlap;
11
}
12
break;
13
case "r":
14
//Condition to check if r comes before c
15
if (croakArr[0] <= croakArr[1]) return -1;
16
croakArr[1] += 1;
17
break;
18
case "o":
19
//Condition to check if o comes before r
20
if (croakArr[1] <= croakArr[2]) return -1;
21
croakArr[2] += 1;
22
break;
23
case "a":
24
//Condition to check if a comes before o
25
if (croakArr[2] <= croakArr[3]) return -1;
26
croakArr[3] += 1;
27
break;
28
case "k":
29
//Condition to check if k comes before a
30
if (croakArr[3] <= croakArr[4]) return -1;
31
croakArr[4] += 1;
32
break;
33
}
34
}
35
//Check if all items of array have same count else return -1
36
//If all items have same count return overlap + 1
37
return Math.max(...croakArr) === Math.min(...croakArr) ? overlap + 1 : -1;
38
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0