This commit is contained in:
Tim Stallard 2017-12-09 14:12:59 +00:00
parent e9e4c7a9cc
commit 3b686f4759
Signed by: Tim
GPG Key ID: AAE46381AF6A3FE8
3 changed files with 20 additions and 0 deletions

1
day09/input.txt Normal file

File diff suppressed because one or more lines are too long

6
day09/part1.js Normal file
View File

@ -0,0 +1,6 @@
var input = require("fs").readFileSync("input.txt").toString();
var nogarbage = input.replace(/!./g, "").replace(/<[^>]*>/g, "");
var json = nogarbage.replace(/{/g, "[").replace(/}/g, "]").replace(/\[[,]+/g, "[").replace(/[,]+\]/g, "]");
var structure = JSON.parse(json);
score = (o, d)=>(o.map((c)=>(score(c, d+1))).reduce((a, b)=>(a+b), 0) + d);
console.log(score(structure, 1));

13
day09/part2.js Normal file
View File

@ -0,0 +1,13 @@
var input = require("fs").readFileSync("input.txt").toString();
var cancelled = input.replace(/!./g, "");
var garbage = [];
var match = null;
var regex = new RegExp("<([^>]*)>", "g");
do{
match = regex.exec(cancelled);
if(match){
garbage.push(match[1]);
}
}
while(match != null);
console.log(garbage.map((a)=>(a.length)).reduce((a, b)=>(a+b)));