advent-of-code-2022/day03/index.js

33 lines
874 B
JavaScript
Raw Normal View History

2022-12-03 15:33:14 +00:00
import { readFileSync } from "fs";
const input = readFileSync("rucksack.txt", "utf-8");
const priorities = {};
for(let i = 0; i < 26; i++) {
priorities[String.fromCharCode(97 + i)] = i + 1;
priorities[String.fromCharCode(65 + i)] = 26 + i + 1;
}
let prioritySum = 0;
input.split('\n').forEach(rucksack => {
let len = rucksack.length / 2;
const compartment = [];
compartment[0] = rucksack.substring(0, len);
compartment[1] = rucksack.substring(len, rucksack.length);
let charFound = false;
for(let i = 0; i < len; i++) {
for(let j = 0; j < len; j++) {
if(compartment[0].charAt(i) === compartment[1].charAt(j) && !charFound) {
prioritySum += priorities[compartment[0].charAt(i)];
charFound = true;
break;
}
}
}
console.log(prioritySum);
});