-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathSolution.js
81 lines (72 loc) · 1.88 KB
/
Solution.js
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
// https://leetcode.com/problems/most-common-word/
/**
* @param {string} paragraph
* @param {string[]} banned
* @return {string}
*/
var mostCommonWord = function (paragraph, banned) {
let data = "";
data = paragraph.toLowerCase();
data = data.replaceAll(",", ", ");
data = data.replaceAll(",", "");
data = data.replaceAll("!", "");
data = data.replaceAll("?", "");
data = data.replaceAll("'", "");
data = data.replaceAll(";", "");
data = data.replaceAll(".", "");
data = data.split(" ");
let obj = {};
data.forEach(el => {
if (el != undefined && el != "" && el != " ") {
data.forEach(e => {
if (el == e || el == e + ",") {
if (obj[el] != undefined) {
obj[el] = obj[el] + 1;
} else {
obj[el] = 1;
}
}
});
}
});
let word = {
index: 0,
value: 0
};
banned.map((e) => {
if (obj[e] != undefined) {
delete obj[e];
}
if (obj[""] != undefined) {
delete obj[""];
}
});
Object.values(obj).map((el, index) => {
if (el > word.value) {
word.index = index;
word.value = el;
}
});
return Object.keys(obj)[word.index];
};
/*
Input: paragraph = "Bob hit a ball, the hit BALL flew far after it was hit.", banned = ["hit"]
Output: "ball"
Input: paragraph = "a.", banned = []
Output: "a"
"a, a, a, a, b,b,b,c, c"
["a"]
// b
"Bob. hIt, baLl"
["bob", "hit"]
//ball
*/
let paragraph = "Bob hit a ball, the hit BALL flew far after it was hit.";
let banned = ["hit"]
// paragraph = "a.";
// banned = [];
// paragraph = "a, a, a, a, b,b,b,c, c";
// banned = ["a"];
paragraph = "Bob. hIt, baLl";
banned = ["bob", "hit"];
console.log(mostCommonWord(paragraph, banned))