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": {
"solved": false,
"result": null,
"solved": true,
"result": "1361",
"attempts": [],
"time": null
"time": 0.342917
},
"part2": {
"solved": false,
"result": null,
"solved": true,
"result": "3263",
"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/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/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/08/%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
Time part 1: -
Time part 2: -
Both parts: -
Time part 1: 0.343ms
Time part 2: 4.223ms
Both parts: 4.566356ms
```
```
@ -243,8 +243,8 @@ Both parts: -
```
```
Total stars: 10/50
Total time: 16.37ms
Total stars: 12/50
Total time: 20.937ms
```
<!--/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,
})