26 lines
508 B
JavaScript
26 lines
508 B
JavaScript
import { readFile } from "fs/promises";
|
|
|
|
|
|
const fileToRead = `actual.input`;
|
|
|
|
const list1 = {};
|
|
const list2 = {};
|
|
|
|
const file = await readFile(fileToRead, `utf-8`);
|
|
|
|
for (const line of file.split(`\n`)) {
|
|
const [ l1Add, l2Add ] = line.split(/\s+/, 2);
|
|
|
|
list1[l1Add] ??= 0;
|
|
list1[l1Add] += 1;
|
|
|
|
list2[l2Add] ??= 0;
|
|
list2[l2Add] += 1;
|
|
};
|
|
|
|
let similarity = 0;
|
|
for (const location in list1) {
|
|
similarity += list1[location] * (location * (list2[location] ?? 0))
|
|
};
|
|
|
|
console.log(`Similarity: ${similarity}`);
|