This commit is contained in:
Tim Stallard 2016-12-20 10:49:06 +00:00
parent a2bbd41f78
commit 93823203f3
3 changed files with 1103 additions and 0 deletions

1075
day20/input.txt Normal file

File diff suppressed because it is too large Load Diff

5
day20/part1.js Normal file
View File

@ -0,0 +1,5 @@
var min = 0;
var input = require("fs").readFileSync("input.txt").toString().replace(/\r/g, "");
var ranges = input.split("\n").filter((a)=>(a)).map((line)=>(line.split("-").map((num)=>(parseInt(num))))).sort((a, b)=>(a[0] - b[0]));
var min = ranges.reduce((min, range)=>((min >= range[0]) && (min <= range[1]) ? (range[1] + 1) : min), 0);
console.log(min);

23
day20/part2.js Normal file
View File

@ -0,0 +1,23 @@
var input = require("fs").readFileSync("input.txt").toString().replace(/\r/g, "");
var ranges = input.split("\n").filter((a)=>(a)).map((line)=>(line.split("-").map((num)=>(parseInt(num))))).sort((a, b)=>(a[0] - b[0]));
var newRanges = ranges.reduce((fixed, range)=>{
if((fixed[fixed.length - 1][1] + 1) >= range[0]){
if((fixed[fixed.length - 1][1] + 1) < range[1]){
fixed[fixed.length - 1][1] = range[1];
}
}
else{
fixed.push(range);
}
return fixed;
}, [[0, 0]]);
var allowed = newRanges.reduce((numallowed, range, i, ranges)=>{
if(i < (ranges.length - 1)){
numallowed += ((ranges[i+1][0] - range[1]) - 1);
}
else{
numallowed += (4294967295 - range[1]);
}
return numallowed;
}, 0);
console.log(allowed);