-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path__E__keyboardRow.js
54 lines (46 loc) · 1.32 KB
/
__E__keyboardRow.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
// https://leetcode.com/problems/keyboard-row/submissions/
const c = console.log.bind(console);
var findWords = function(words) {
let array = ["qwertyuiop", "asdfghjkl", "zxcvbnm"];
let bool = true;
let finalArray = [];
for (let i of words) {
let array_index = wordCheck(i[0].toLowerCase(), array);
for (let testCaseAlpha of i) {
bool = array[array_index].includes(testCaseAlpha.toLowerCase());
if (bool == false) {
break;
}
}
if (bool == true) {
finalArray.push(i);
}
}
return finalArray;
};
let wordCheck = (alphabate, array) => {
for (let i in array) {
let bool = array[i].includes(alphabate);
if (bool) {
return i;
}
}
};
//from community
// var findWords = function(words) {
// let keyboards = [
// "qwertyuiop",
// "asdfghjkl",
// "zxcvbnm"
// ]
// return words.filter((w) => {
// let row = -1;
// return w.toLowerCase().split("").every(c => {
// let lookup = keyboards.findIndex(r => r.includes(c));
// if (row !== lookup && row !== -1) return false;
// row = lookup;
// return true;
// });
// });
// };
c(findWords(["Hello", "Alaska", "Dad", "Peace"]));