-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmarko.js
65 lines (51 loc) · 1.29 KB
/
marko.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
'use strict';
process.stdin.resume();
process.stdin.setEncoding('utf-8');
let inputString = '';
let currentLine = 0;
process.stdin.on('data', function(inputStdin) {
inputString += inputStdin;
});
process.stdin.on('end', function() {
inputString = inputString.split('\n');
main();
});
function readLine() {
return inputString[currentLine++];
}
function main() {
const k = {
'1': [],
'2': ['a', 'b', 'c'],
'3': ['d', 'e', 'f'],
'4': ['g', 'h', 'i'],
'5': ['j', 'k', 'l'],
'6': ['m', 'n', 'o'],
'7': ['p', 'q', 'r', 's'],
'8': ['t', 'u', 'v'],
'9': ['w', 'x', 'y', 'z']
}
const dict = [];
const n = parseInt(readLine());
for (let i = 0; i < n; i++) {
dict.push(readLine().split(''));
}
let build = [];
const seq = readLine().split('');
dict.forEach(word => {
let i = 0;
let builtWord = '';
seq.forEach(key => {
if (k[key].includes(word[i])) {
builtWord += word[i];
}
i++;
});
if (builtWord) build.push(builtWord);
});
let count = 0;
dict.forEach(w => {
if (build.includes(w.join(''))) count++;
});
console.log(count);
}