55 lines
1.8 KiB
JavaScript
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++) {
|
|
|
|
// }
|
|
}
|
|
|
|
})
|