adventofcode-2018/03/part1.js
2018-12-06 00:11:03 +00:00

19 lines
647 B
JavaScript

var input = require("fs").readFileSync("input.txt").toString().split("\n").filter(a=>a);
var sqs = input.map((a)=>(a.match(/#\d+ @ (\d+),(\d+): (\d+)x(\d+)/)).map(a=>(parseInt(a))).filter(a=>(a>=0)));
var xa = Math.min.apply(null, sqs.map(a=>(a[0])));
var ya = Math.min.apply(null, sqs.map(a=>(a[1])));
var xb = Math.max.apply(null, sqs.map(a=>(a[0]+a[2])));
var yb = Math.max.apply(null, sqs.map(a=>(a[1]+a[3])));
var count = 0;
for(var x = xa; x <= xb; x++){
for(var y = ya; y <= yb; y++){
if(sqs.filter(a=>( (a[0] <= x) && ((a[0] + a[2]) > x) && (a[1] <= y) && ((a[1]) + a[3]) > y)).length >= 2){
count++;
}
}
}
console.log(count);