This commit is contained in:
2020-12-02 20:03:21 +00:00
parent 367f8e5c9a
commit 9c5205044c
3 changed files with 1064 additions and 0 deletions

1001
02/input Normal file

File diff suppressed because it is too large Load Diff

33
02/part1.js Normal file
View File

@@ -0,0 +1,33 @@
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);
});

30
02/part2.js Normal file
View File

@@ -0,0 +1,30 @@
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 pos1 = Number(result[1]) - 1;
let pos2 = Number(result[2]) - 1;
let match = result[3];
let pass = result[4];
if ((pass[pos1] == match && pass[pos2] != match) || (pass[pos1] != match && pass[pos2] == match)) {
valid++;
};
});
readInterface.on('close', function(line) {
console.log(valid);
});