Add 2024/day2/part1.js
This commit is contained in:
parent
c68d7fd09b
commit
6c0e9c3fb3
|
@ -0,0 +1,20 @@
|
||||||
|
#!/usr/bin/env node
|
||||||
|
|
||||||
|
var fs = require('fs');
|
||||||
|
var data = fs.readFileSync(process.argv[2],'utf8').split('\n').filter(i=>i).map(i=>i.split(' ').map(i=>parseInt(i)));
|
||||||
|
|
||||||
|
var safety_count = 0;
|
||||||
|
|
||||||
|
|
||||||
|
function isreportsafe(report) {
|
||||||
|
var first = report.slice(0,-1);
|
||||||
|
var diffs = first.map((elem,idx)=>report[idx+1]-elem);
|
||||||
|
if(diffs[0]<0) { //Is negative
|
||||||
|
diffs = diffs.map(i=>-i); //Negate it
|
||||||
|
}
|
||||||
|
return !diffs.some(i=>(i<1 || i>3));
|
||||||
|
}
|
||||||
|
|
||||||
|
var safety_count = data.reduce((acc,report)=>acc+(isreportsafe(report)?1:0),0);
|
||||||
|
|
||||||
|
console.log('Result:',safety_count);
|
Loading…
Reference in New Issue