0
0
Fork 0
AdventOfCode/javascript/day_02/part1.mjs
2024-12-04 21:27:20 -07:00

36 lines
813 B
JavaScript

import { readFile } from "fs/promises";
function legalValues(a, b, gap) {
const delta = Math.abs(a - b);
console.log(`legaValues(${a}, ${b}, ${gap}){delta=${delta}} = ${delta <= gap}`);
return delta <= gap;
};
if (process.argv.length <= 2) {
console.error(`Needs more args >:(`).
process.exit(1);
}
const fileToRead = process.argv[2];
const file = await readFile(fileToRead, `utf-8`);
let validLines = 0;
for (const line of file.split(`\n`)) {
// console.log(line)
const ints = line.split(` `)
.map(v => Number.parseInt(v));
const isSafe = ints
.slice(0, -1)
.map((v, i) => v - ints[i + 1])
.every((v, _, a) => Math.sign(v) === Math.sign(a[0]) && Math.abs(v) <= 3);
// console.log(isSafe)
if(isSafe) {
validLines++;
};
// break
};
console.log(`Number of valid reports:`, validLines)