This commit is contained in:
Joshua Seigler 2022-12-06 23:58:25 -05:00
parent 23e19496a1
commit 4e68a90792
4 changed files with 67 additions and 12 deletions

View file

@ -75,16 +75,16 @@
}, },
{ {
"part1": { "part1": {
"solved": false, "solved": true,
"result": null, "result": "1361",
"attempts": [], "attempts": [],
"time": null "time": 0.342917
}, },
"part2": { "part2": {
"solved": false, "solved": true,
"result": null, "result": "3263",
"attempts": [], "attempts": [],
"time": null "time": 4.223439
} }
}, },
{ {

View file

@ -16,7 +16,7 @@
[![Day](https://badgen.net/badge/03/%E2%98%85%E2%98%85/green)](src/day03) [![Day](https://badgen.net/badge/03/%E2%98%85%E2%98%85/green)](src/day03)
[![Day](https://badgen.net/badge/04/%E2%98%85%E2%98%85/green)](src/day04) [![Day](https://badgen.net/badge/04/%E2%98%85%E2%98%85/green)](src/day04)
[![Day](https://badgen.net/badge/05/%E2%98%85%E2%98%85/green)](src/day05) [![Day](https://badgen.net/badge/05/%E2%98%85%E2%98%85/green)](src/day05)
![Day](https://badgen.net/badge/06/%E2%98%86%E2%98%86/gray) [![Day](https://badgen.net/badge/06/%E2%98%85%E2%98%85/green)](src/day06)
![Day](https://badgen.net/badge/07/%E2%98%86%E2%98%86/gray) ![Day](https://badgen.net/badge/07/%E2%98%86%E2%98%86/gray)
![Day](https://badgen.net/badge/08/%E2%98%86%E2%98%86/gray) ![Day](https://badgen.net/badge/08/%E2%98%86%E2%98%86/gray)
![Day](https://badgen.net/badge/09/%E2%98%86%E2%98%86/gray) ![Day](https://badgen.net/badge/09/%E2%98%86%E2%98%86/gray)
@ -104,9 +104,9 @@ Both parts: 3.275507ms
``` ```
Day 06 Day 06
Time part 1: - Time part 1: 0.343ms
Time part 2: - Time part 2: 4.223ms
Both parts: - Both parts: 4.566356ms
``` ```
``` ```
@ -243,8 +243,8 @@ Both parts: -
``` ```
``` ```
Total stars: 10/50 Total stars: 12/50
Total time: 16.37ms Total time: 20.937ms
``` ```
<!--/RESULTS--> <!--/RESULTS-->

9
src/day06/README.md Normal file
View file

@ -0,0 +1,9 @@
# 🎄 Advent of Code 2022 - day 6 🎄
## Info
Task description: [link](https://adventofcode.com/2022/day/6)
## Notes
...

46
src/day06/index.ts Normal file
View file

@ -0,0 +1,46 @@
import run from "aocrunner"
const parseInput = (rawInput: string) => rawInput.trim()
const part1 = (rawInput: string) => {
const input = parseInput(rawInput)
for (let i = 4; i < input.length; i++) {
const window = new Set([...input.slice(i - 4, i)])
if (window.size === 4) return i
}
return -1
}
const part2 = (rawInput: string) => {
const input = parseInput(rawInput)
for (let i = 14; i < input.length; i++) {
const window = new Set([...input.slice(i - 14, i)])
if (window.size === 14) return i
}
return -1
}
run({
part1: {
tests: [
{ input: `mjqjpqmgbljsphdztnvjfqwrcgsmlb`, expected: 7 },
{ input: `bvwbjplbgvbhsrlpgdmjqwftvncz`, expected: 5 },
{ input: `nppdvjthqldpwncqszvftbrmjlhg`, expected: 6 },
{ input: `nznrnfrfntjfmvfwmzdfjlvtqnbhcprsg`, expected: 10 },
{ input: `zcfzfwzzqfrljwzlrfnpqdbhtmscgvjw`, expected: 11 },
],
solution: part1,
},
part2: {
tests: [
{ input: `mjqjpqmgbljsphdztnvjfqwrcgsmlb`, expected: 19 },
{ input: `bvwbjplbgvbhsrlpgdmjqwftvncz`, expected: 23 },
{ input: `nppdvjthqldpwncqszvftbrmjlhg`, expected: 23 },
{ input: `nznrnfrfntjfmvfwmzdfjlvtqnbhcprsg`, expected: 29 },
{ input: `zcfzfwzzqfrljwzlrfnpqdbhtmscgvjw`, expected: 26 },
],
solution: part2,
},
trimTestInputs: true,
onlyTests: false,
})