git-subtree-dir: 2020 git-subtree-mainline:ab8f135946
git-subtree-split:aaabfa90c9
34 lines
666 B
JavaScript
34 lines
666 B
JavaScript
const fs = require('fs')
|
|
const readline = require('readline');
|
|
|
|
const readInterface = readline.createInterface({
|
|
input: fs.createReadStream('input'),
|
|
console: false
|
|
});
|
|
|
|
let re = /^(\d+)-(\d+) (\w+): (\w+)$/i
|
|
let valid = 0;
|
|
|
|
readInterface.on('line', function(line) {
|
|
let result = re.exec(line);
|
|
if (result == null) {
|
|
return;
|
|
}
|
|
|
|
let min = Number(result[1]);
|
|
let max = Number(result[2]);
|
|
let match = result[3];
|
|
let pass = result[4];
|
|
|
|
let count = 0;
|
|
pass.split('').forEach(x => x == match ? count++ : null);
|
|
|
|
if (count >= min && count <= max) {
|
|
valid++;
|
|
};
|
|
});
|
|
|
|
readInterface.on('close', function(line) {
|
|
console.log(valid);
|
|
});
|