adventofcode/2022/day01/main.mjs

33 lines
949 B
JavaScript

import fs from 'node:fs'
fs.readFile('input', 'utf8', (err, data) => {
let cleanedData = []
data.split(/(\r?\n){2,}/gm).forEach(data => {
if(data !== '\n'){
cleanedData.push(data.split('\n').map(n => {return Number(n)}))
}
})
let highestValues = findHighest(cleanedData)
console.log('Part 1: The elve with the most calories carries: ' + highestValues[0] + ' calories')
let sumTop3 = highestValues[0]
for(let i = 0; i < 2; i++) {
cleanedData.splice(highestValues[1], 1)
highestValues = findHighest(cleanedData)
sumTop3 += highestValues[0]
}
console.log('Part 2: The three elves with the most calories carry: '+ sumTop3 + ' calories')
})
function findHighest(numberArray) {
let highestNumber = 0
let highestIndex = 0
numberArray.forEach((part, index) => {
let sum = part.reduce((a, b) => a + b, 0)
if (sum > highestNumber) {
highestNumber = sum
highestIndex = index
}
})
return [highestNumber, highestIndex]
}