2022 - Day 6

This commit is contained in:
2022-12-06 15:13:37 +01:00
parent 18e195a472
commit 3db4ea0ef9
5 changed files with 96 additions and 0 deletions
+50
View File
@@ -0,0 +1,50 @@
const sample1 = "mjqjpqmgbljsphdztnvjfqwrcgsmlb";
const sample2 = "bvwbjplbgvbhsrlpgdmjqwftvncz";
const sample3 = "nppdvjthqldpwncqszvftbrmjlhg";
const sample4 = "nznrnfrfntjfmvfwmzdfjlvtqnbhcprsg";
const sample5 = "zcfzfwzzqfrljwzlrfnpqdbhtmscgvjw";
const input = await Deno.readTextFile("input.txt");
const solvePart1 = (data: string): number => {
const characters = data.split("");
const size = 4;
for (let i = 0; i < characters.length; i += 1) {
const s = new Set(characters.slice(i, i + size));
if (s.size === size) {
return s.size + i;
}
}
return -1;
};
console.log("Sample1:", solvePart1(sample1));
console.log("Sample2:", solvePart1(sample2));
console.log("Sample3:", solvePart1(sample3));
console.log("Sample4:", solvePart1(sample4));
console.log("Sample5:", solvePart1(sample5));
console.log("Input", solvePart1(input));
const sample6 = "mjqjpqmgbljsphdztnvjfqwrcgsmlb";
const sample7 = "bvwbjplbgvbhsrlpgdmjqwftvncz";
const sample8 = "nppdvjthqldpwncqszvftbrmjlhg";
const sample9 = "nznrnfrfntjfmvfwmzdfjlvtqnbhcprsg";
const sample10 = "zcfzfwzzqfrljwzlrfnpqdbhtmscgvjw";
const solvePart2 = (data: string): number => {
const characters = data.split("");
const size = 14;
for (let i = 0; i < characters.length; i += 1) {
const s = new Set(characters.slice(i, i + size));
if (s.size === size) {
return s.size + i;
}
}
return -1;
};
console.log("Sample6:", solvePart2(sample6));
console.log("Sample7:", solvePart2(sample7));
console.log("Sample8:", solvePart2(sample8));
console.log("Sample9:", solvePart2(sample9));
console.log("Sample10:", solvePart2(sample10));
console.log("Input", solvePart2(input));