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";
|
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;
|
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