-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChallenge-42.js
58 lines (48 loc) · 1.48 KB
/
Challenge-42.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
// You are given a string allowed consisting of distinct characters and an array of strings words. A string is consistent if all characters in the string appear in the string allowed.
// Return the number of consistent strings in the array words.
// Example 1:
// Input: allowed = "ab", words = ["ad","bd","aaab","baa","badab"]
// Output: 2
// Explanation: Strings "aaab" and "baa" are consistent since they only contain characters 'a' and 'b'.
// Example 2:
// Input: allowed = "abc", words = ["a","b","c","ab","ac","bc","abc"]
// Output: 7
// Explanation: All strings are consistent.
// Example 3:
// Input: allowed = "cad", words = ["cc","acd","b","ba","bac","bad","ac","d"]
// Output: 4
// Explanation: Strings "cc", "acd", "ac", and "d" are consistent.
//solutions
function countConsistentStrings(allowed, words) {
const allowedSet = new Set(allowed);
let consistentCount = 0;
for (const word of words) {
let isConsistent = true;
for (const char of word) {
if (!allowedSet.has(char)) {
isConsistent = false;
break;
}
}
if (isConsistent) {
consistentCount++;
}
}
return consistentCount;
}
console.log(countConsistentStrings("ab", ["ad", "bd", "aaab", "baa", "badab"])); // Output: 2
console.log(
countConsistentStrings("abc", ["a", "b", "c", "ab", "ac", "bc", "abc"])
); // Output: 7
console.log(
countConsistentStrings("cad", [
"cc",
"acd",
"b",
"ba",
"bac",
"bad",
"ac",
"d",
])
); // Output: 4