From c2dfb1d245d5a1f3e866e78f60b4be6948446667 Mon Sep 17 00:00:00 2001 From: Joshua Seigler Date: Wed, 1 Dec 2021 15:20:40 -0500 Subject: [PATCH] day 1 --- .aocrunner.json | 20 ++++++++++------- README.md | 12 +++++----- src/day01/README.md | 9 ++++++++ src/day01/index.js | 54 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 81 insertions(+), 14 deletions(-) create mode 100644 src/day01/README.md create mode 100644 src/day01/index.js diff --git a/.aocrunner.json b/.aocrunner.json index a2c4e6e..212f95b 100644 --- a/.aocrunner.json +++ b/.aocrunner.json @@ -5,16 +5,20 @@ "days": [ { "part1": { - "solved": false, - "result": null, - "attempts": [], - "time": null + "solved": true, + "result": "1288", + "attempts": [ + "1420" + ], + "time": 0.24 }, "part2": { - "solved": false, - "result": null, - "attempts": [], - "time": null + "solved": true, + "result": "1311", + "attempts": [ + "1248" + ], + "time": 0.55 } }, { diff --git a/README.md b/README.md index b0deaaa..025cdd1 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ -![Day](https://badgen.net/badge/01/%E2%98%86%E2%98%86/gray) +[![Day](https://badgen.net/badge/01/%E2%98%85%E2%98%85/green)](src/day01) ![Day](https://badgen.net/badge/02/%E2%98%86%E2%98%86/gray) ![Day](https://badgen.net/badge/03/%E2%98%86%E2%98%86/gray) ![Day](https://badgen.net/badge/04/%E2%98%86%E2%98%86/gray) @@ -69,9 +69,9 @@ npm start 1 ``` Day 01 -Time part 1: - -Time part 2: - -Both parts: - +Time part 1: 0.24ms +Time part 2: 0.55ms +Both parts: 0.79ms ``` ``` @@ -243,8 +243,8 @@ Both parts: - ``` ``` -Total stars: 0/50 -Total time: 0ms +Total stars: 2/50 +Total time: 0.79ms ``` diff --git a/src/day01/README.md b/src/day01/README.md new file mode 100644 index 0000000..64c2aeb --- /dev/null +++ b/src/day01/README.md @@ -0,0 +1,9 @@ +# 🎄 Advent of Code 2021 - day 1 🎄 + +## Info + +Task description: [link](https://adventofcode.com/2021/day/1) + +## Notes + +... \ No newline at end of file diff --git a/src/day01/index.js b/src/day01/index.js new file mode 100644 index 0000000..a278a3b --- /dev/null +++ b/src/day01/index.js @@ -0,0 +1,54 @@ +import run from "aocrunner" + +const parseInput = (rawInput) => rawInput.split('\n').map(Number) + +const part1 = (rawInput) => { + const input = parseInput(rawInput) + return input.reduce((acc, current, index) => acc + (current > input[index-1] ? 1 : 0), 0) +} + +const part2 = (rawInput) => { + const input = parseInput(rawInput) + let increases = 0 + for (let i = 0; i < input.length; i++) { + if (i > 2 && input[i] > input[i-3]) { + increases++ + } + } + + return increases +} + +run({ + part1: { + tests: [ + { input: `199 +200 +208 +210 +200 +207 +240 +269 +260 +263`, expected: 7 }, + ], + solution: part1, + }, + part2: { + tests: [ + { input: `199 +200 +208 +210 +200 +207 +240 +269 +260 +263`, expected: 5 }, + ], + solution: part2, + }, + trimTestInputs: true, +})