day3
This commit is contained in:
9
day3/pt1.ts
Normal file
9
day3/pt1.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
const input = await Bun.file('./inputs/day3').text();
|
||||
const regex = /mul\((?<first>\d+)\,(?<second>\d+)\)/g;
|
||||
|
||||
const total = input
|
||||
.matchAll(regex)
|
||||
.map(({ groups }) => Number(groups!.first) * Number(groups!.second))
|
||||
.reduce((curr, acc) => curr + acc);
|
||||
|
||||
console.log(`sum of mult: ${total}`);
|
||||
12
day3/pt2.ts
Normal file
12
day3/pt2.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
const input = await Bun.file('./inputs/day3').text();
|
||||
const regex = /(?<instruction>do|don't)\(\)|mul\((?<first>\d+)\,(?<second>\d+)\)/g;
|
||||
|
||||
let enabled = true;
|
||||
let total = 0;
|
||||
input.matchAll(regex).forEach(({ groups }) => {
|
||||
if (groups!.instruction === 'do') enabled = true;
|
||||
else if (groups!.instruction === "don't") enabled = false;
|
||||
else if (enabled) total += Number(groups!.first) * Number(groups!.second);
|
||||
});
|
||||
|
||||
console.log(`sum of mult with do/don't: ${total}`);
|
||||
Reference in New Issue
Block a user