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);