day 1 puzzle 2
This commit is contained in:
parent
37ef694431
commit
ee66a68efb
2 changed files with 27 additions and 1 deletions
|
@ -1,6 +1,6 @@
|
|||
import fs from "node:fs";
|
||||
|
||||
const input = fs.readFileSync("inputs/day1-puzzle1").toString();
|
||||
const input = fs.readFileSync("inputs/day1").toString();
|
||||
|
||||
const sort = (a: number, b: number) => a - b;
|
||||
|
||||
|
|
26
day1-puzzle2.ts
Normal file
26
day1-puzzle2.ts
Normal file
|
@ -0,0 +1,26 @@
|
|||
import fs from "node:fs";
|
||||
|
||||
const input = fs.readFileSync("inputs/day1").toString();
|
||||
|
||||
const sort = (a: number, b: number) => a - b;
|
||||
|
||||
const lists: number[][] = [];
|
||||
|
||||
input.split("\n").forEach(line => {
|
||||
line.split(/\s+/g).forEach((i, list) => {
|
||||
lists[list] = lists[list] || [];
|
||||
lists[list].push(Number(i));
|
||||
})
|
||||
})
|
||||
|
||||
lists.forEach(i => i.sort(sort));
|
||||
|
||||
const rows: number[] = [];
|
||||
|
||||
lists[0].forEach((a) => {
|
||||
rows.push(a * lists[1].filter(b => a === b).length);
|
||||
})
|
||||
|
||||
const result = rows.reduce((prev, cur) => prev + cur);
|
||||
|
||||
console.log(result);
|
Loading…
Reference in a new issue