Day 2
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
const fs = require('fs');
|
||||
const _ = require('lodash');
|
||||
|
||||
const input = fs.readFileSync(__dirname + '/input.txt', 'utf8');
|
||||
|
||||
@@ -16,17 +15,18 @@ input.split("\n").forEach((n: string) => {
|
||||
});
|
||||
|
||||
// Part 1
|
||||
// arr1.sort();
|
||||
// arr2.sort();
|
||||
arr1.sort();
|
||||
arr2.sort();
|
||||
|
||||
// let sum = 0;
|
||||
let sum = 0;
|
||||
|
||||
// arr1.forEach((v, k) => {
|
||||
// sum += Math.max(v, arr2[k]) - Math.min(v, arr2[k]);
|
||||
// });
|
||||
arr1.forEach((v, k) => {
|
||||
sum += Math.max(v, arr2[k]) - Math.min(v, arr2[k]);
|
||||
});
|
||||
|
||||
// console.log(sum);
|
||||
console.log(sum);
|
||||
|
||||
// Part 2
|
||||
const map: { [key: number]: number } = {};
|
||||
|
||||
arr2.forEach((v) => {
|
||||
|
||||
48
2024/02/index.ts
Normal file
48
2024/02/index.ts
Normal file
@@ -0,0 +1,48 @@
|
||||
const fs = require('fs');
|
||||
|
||||
const input = fs.readFileSync(__dirname + '/input.txt', 'utf8');
|
||||
|
||||
let safe = 0;
|
||||
|
||||
function checkSequence(seq: Array<number>): boolean {
|
||||
let pointer = 0;
|
||||
let prev = seq[pointer];
|
||||
pointer++;
|
||||
let inc = seq[pointer] > prev;
|
||||
while (pointer < seq.length) {
|
||||
const next = seq[pointer];
|
||||
pointer++;
|
||||
if (inc ? next < prev : next > prev) {
|
||||
return false;
|
||||
}
|
||||
const diff = Math.abs(next - prev);
|
||||
if (diff <= 0 || diff > 3) {
|
||||
return false;
|
||||
}
|
||||
prev = next;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
input.split("\n")
|
||||
.forEach((s: string) => {
|
||||
if (s.match('^\s*$')) {
|
||||
return;
|
||||
}
|
||||
const seq = s.split(' ').map((n) => parseInt(n));
|
||||
const isSafe = checkSequence(seq);
|
||||
if (!isSafe) {
|
||||
// Part 2
|
||||
for (let i = 0; i < seq.length; i++) {
|
||||
if (checkSequence([...seq.slice(0, i), ...seq.slice(i + 1)])) {
|
||||
safe++;
|
||||
return;
|
||||
}
|
||||
}
|
||||
// End part 2
|
||||
return;
|
||||
}
|
||||
safe++;
|
||||
});
|
||||
|
||||
console.log(safe);
|
||||
Reference in New Issue
Block a user