Files
advent-of-code/day-1/day1-part2.ts
2024-12-01 22:55:29 +01:00

38 lines
995 B
TypeScript

import * as path from 'path'
export async function day1Part2() {
const start = performance.now()
const input = await Bun.file(path.join(__dirname, 'input.txt')).text()
const lines = input.split('\n')
const column1: number[] = []
const column2Map = new Map()
for (const line of lines) {
const [left, right] = line.split(' ')
const n1 = Number.parseInt(left, 10)
const n2 = Number.parseInt(right, 10)
column1.push(n1)
if (column2Map.has(n2)) {
const v = column2Map.get(n2)
column2Map.set(n2, v + 1)
} else {
column2Map.set(n2, 1)
}
}
let result = 0
for (let i = 0; i < column1.length; i++) {
const left = column1[i]
if(!column2Map.has(left)){
continue
}
const multiplier = column2Map.get(left)
result += multiplier * left
}
const end = performance.now()
console.log({result, time: end - start})
}