day 04 part 1 finished

This commit is contained in:
2024-12-21 12:55:12 +01:00
parent 63aae6749d
commit d48faf5cb0
3 changed files with 244 additions and 0 deletions

25
2023/day04/index.js Normal file
View File

@ -0,0 +1,25 @@
import fs from "node:fs";
const lines = fs.readFileSync("input.txt", "utf-8").split("\n");
let result = 0;
lines.forEach((line) => {
result += countCardPoints(line);
});
console.log(result);
function countCardPoints(line) {
const lists = line.split(":")[1].trim().split("|");
const [winningNumbers, myNumbers] = lists.map(
(item) => item.match(/\d+/g)?.map(Number) || []
);
const commonItems = myNumbers.filter((item) => winningNumbers.includes(item));
let output = 0;
if (commonItems.length > 0) {
output += 2 ** (commonItems.length - 1);
}
return output;
}