day 3, 🥱

This commit is contained in:
2024-12-05 23:03:52 +01:00
parent 3fe01908dd
commit 70222fd139
2 changed files with 38 additions and 6 deletions

View File

@@ -1,19 +1,19 @@
const fs = require('fs');
const fs = require('node:fs');
const readline = require('readline');
async function processLineByLine() {
const fileStream = fs.createReadStream('input.txt');
const fileStream = fs.createReadStream('../input.txt');
const rl = readline.createInterface({
input: fileStream,
crlfDelay: Infinity
});
let t = 0
let t = 0
for await (const line of rl) {
let m = line.match(/mul\([0-9]{1,3}, ?[0-9]{1,3}\)/g);
m = m.map(e => e.split('(')[1].split(')')[0].split(','))
.forEach(([a,b]) => t+=-a*-b)
let m = line.match(/mul\([0-9]{1,3}, ?[0-9]{1,3}\)/g);
m = m.map(e => e.split('(')[1].split(')')[0].split(','))
.forEach(([a, b]) => t += -a * -b)
}
console.log(t);
}

32
2024/03/p2/index.js Normal file
View File

@@ -0,0 +1,32 @@
const fs = require('node:fs');
const readline = require('readline');
async function processLineByLine() {
const fileStream = fs.createReadStream('../input.txt');
const rl = readline.createInterface({
input: fileStream,
crlfDelay: Infinity
});
let t = 0
let foo_do = true;
for await (const line of rl) {
let m = line.match(/(?:mul\([0-9]{1,3}, ?[0-9]{1,3}\)|do(?:n't)?\(\))/g);
m = m.forEach(e => {
if(e.startsWith('mul') && foo_do) {
let [a,b] = e
.split('(')[1]
.split(')')[0]
.split(',')
t += -a * -b;
}
if(e.startsWith('do')) foo_do = true;
if(e.startsWith('don')) foo_do = false;
})
}
console.log(t);
}
processLineByLine();