mirror of
https://github.com/javalsai/aoc.git
synced 2026-01-13 01:19:59 +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');
|
const readline = require('readline');
|
||||||
|
|
||||||
async function processLineByLine() {
|
async function processLineByLine() {
|
||||||
const fileStream = fs.createReadStream('input.txt');
|
const fileStream = fs.createReadStream('../input.txt');
|
||||||
|
|
||||||
const rl = readline.createInterface({
|
const rl = readline.createInterface({
|
||||||
input: fileStream,
|
input: fileStream,
|
||||||
crlfDelay: Infinity
|
crlfDelay: Infinity
|
||||||
});
|
});
|
||||||
|
|
||||||
let t = 0
|
let t = 0
|
||||||
for await (const line of rl) {
|
for await (const line of rl) {
|
||||||
let m = line.match(/mul\([0-9]{1,3}, ?[0-9]{1,3}\)/g);
|
let m = line.match(/mul\([0-9]{1,3}, ?[0-9]{1,3}\)/g);
|
||||||
m = m.map(e => e.split('(')[1].split(')')[0].split(','))
|
m = m.map(e => e.split('(')[1].split(')')[0].split(','))
|
||||||
.forEach(([a,b]) => t+=-a*-b)
|
.forEach(([a, b]) => t += -a * -b)
|
||||||
}
|
}
|
||||||
console.log(t);
|
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