Files
Advent-of-code/2024/1.2.ts
T
2024-12-01 09:44:04 +01:00

29 lines
720 B
TypeScript

import fs from 'node:fs';
const file = fs.readFileSync('./2024/inputs/1').toString();
const left: number[] = []
const right: number[] = []
const leftOccurences: {[key:number]:number} = {}
const rightOccurences: {[key:number]:number} = {}
const regexes = file.matchAll(/^(\d+) (\d+)$/gm)
for(const match of regexes){
const leftNumber = Number(match[1])
const rightNumber = Number(match[2])
left.push(leftNumber)
right.push(rightNumber)
if(!(rightNumber in rightOccurences)){
rightOccurences[rightNumber] = 0
}
rightOccurences[rightNumber]++
}
const result = left.reduce((_prev, curr, index)=>{
return _prev + (curr * (rightOccurences[curr] ?? 0))
},0)
console.log(result)