From 6f45c42781905e1646ba9c9fe9483bc0a452c8b3 Mon Sep 17 00:00:00 2001 From: Tim Stallard Date: Mon, 19 Dec 2016 00:27:20 +0000 Subject: [PATCH] Day 18 --- day18/part1.js | 7 +++++++ day18/part2.js | 7 +++++++ 2 files changed, 14 insertions(+) create mode 100644 day18/part1.js create mode 100644 day18/part2.js diff --git a/day18/part1.js b/day18/part1.js new file mode 100644 index 0000000..0df15dc --- /dev/null +++ b/day18/part1.js @@ -0,0 +1,7 @@ +nextline = (line)=>(line.split("").map((char, i, arr)=>([arr[i-1], arr[i], arr[i+1]]).map((char)=>(char ? char : ".")).join("")).map((str)=>(["^^.", ".^^", "..^", "^.."].indexOf(str) != -1)).map((trap)=>(trap ? "^" : ".")).join("")); + +var lines = [".^^^^^.^^^..^^^^^...^.^..^^^.^^....^.^...^^^...^^^^..^...^...^^.^.^.......^..^^...^.^.^^..^^^^^...^."]; +while(lines.length < 40){ + lines.push(nextline(lines[lines.length - 1])); +} +console.log(lines.map((line)=>(line.replace(/\^/g, ""))).join("").length); diff --git a/day18/part2.js b/day18/part2.js new file mode 100644 index 0000000..91bd499 --- /dev/null +++ b/day18/part2.js @@ -0,0 +1,7 @@ +nextline = (line)=>(line.split("").map((char, i, arr)=>([arr[i-1], arr[i], arr[i+1]]).map((char)=>(char ? char : ".")).join("")).map((str)=>(["^^.", ".^^", "..^", "^.."].indexOf(str) != -1)).map((trap)=>(trap ? "^" : ".")).join("")); + +var lines = [".^^^^^.^^^..^^^^^...^.^..^^^.^^....^.^...^^^...^^^^..^...^...^^.^.^.......^..^^...^.^.^^..^^^^^...^."]; +while(lines.length < 400000){ + lines.push(nextline(lines[lines.length - 1])); +} +console.log(lines.map((line)=>(line.replace(/\^/g, ""))).join("").length);