Get day one finished
This commit is contained in:
parent
38aecdd021
commit
ecab4f263a
2 changed files with 57 additions and 0 deletions
31
day_01/javascript/part1.mjs
Normal file
31
day_01/javascript/part1.mjs
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
import { readFile } from "fs/promises";
|
||||
import { SortedList } from "../../utils/javascript/SortedList.mjs";
|
||||
|
||||
|
||||
const fileToRead = `actual.input`;
|
||||
|
||||
const list1 = new SortedList();
|
||||
const list2 = new SortedList();
|
||||
|
||||
const file = await readFile(fileToRead, `utf-8`);
|
||||
for (const line of file.split(`\n`)) {
|
||||
// console.log(line);
|
||||
const [ l1Add, l2Add ] = line.split(/\s+/, 2);
|
||||
list1.add(l1Add);
|
||||
list2.add(l2Add);
|
||||
};
|
||||
|
||||
if (list1.size !== list2.size) {
|
||||
console.log(`The two lists are different lengths`);
|
||||
process.exit(1);
|
||||
};
|
||||
|
||||
const size = list1.size;
|
||||
let distance = 0;
|
||||
for (var i = 0; i < size; i++) {
|
||||
const place1 = list1.at(i);
|
||||
const place2 = list2.at(i);
|
||||
distance += Math.abs(place2 - place1);
|
||||
}
|
||||
|
||||
console.log(`Total Distance: ${distance}`);
|
||||
Loading…
Add table
Add a link
Reference in a new issue