Files
advent-of-code/2024/02/index.js
2024-12-16 13:11:17 +01:00

55 lines
1.8 KiB
JavaScript

import fs from 'node:fs'
const report = []
fs.readFile('example.txt', ({ encoding: "utf-8" }), (err, data) => {
//console.log(data)
// rows = reports
const crit = 3
let safe_reports = 0
for (let line of data.split('\n')) {
// line.split(' ') == levels
let levels = line.split(' ')
let safe = true
let safe_text = ""
//let sho = (parseInt(levels[0]) > parseInt(levels[1])) ? true : false
let shouldIncrease = (parseInt(levels[0]) < parseInt(levels[1])) ? true : false
let safe_level = 0
for (let i = 1; i < levels.length; i++) {
let difference = Math.abs(parseInt(levels[i]) - parseInt(levels[i - 1]))
let isIncreasing = parseInt(levels[i]) > parseInt(levels[i - 1]) ? true : false
if (!shouldIncrease && isIncreasing) {
safe = false
safe_level += 1
safe_text += " should decrease "
}
if (shouldIncrease && !isIncreasing) {
safe = false
safe_level += 1
safe_text += " should increase "
}
if (difference > crit) {
safe = false
safe_level += 1
safe_text += ` too much difference (${difference})`
}
if (difference < 1) {
safe = false
safe_level += 1
safe_text += ` too little difference (${difference})`
}
}
if (safe || safe_level === 1) { safe_reports += 1 }
console.log(`safe reports so far: ${safe_reports} - ${shouldIncrease ? 'Increasing' : 'Decreasing'} - ${safe_level} - ${levels.join(" ")} - ${safe_text}`)
// for (let i = 0; i < levels.length; i++) {
// }
}
})