mirror of
https://github.com/javalsai/aoc.git
synced 2026-01-12 17:10:00 +01:00
day 3, 🥱
This commit is contained in:
@@ -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
32
2024/03/p2/index.js
Normal 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();
|
||||
Reference in New Issue
Block a user