Commit Graph

179 Commits

Author SHA1 Message Date
94b15548cf feat: include 2015D9 2025-12-02 21:23:49 +01:00
4e9e2b399c chore: add 2015D9 dataset 2025-12-02 21:23:24 +01:00
035e56bf53 feat: solve part two 2025-12-02 21:21:49 +01:00
61cf84aa8a test: add unit test for part two 2025-12-02 20:39:54 +01:00
5513ae8386 feat: solve part one using basic parsing 2025-12-02 20:38:20 +01:00
f1730c30cb feat: register D8 and parse input 2025-12-02 20:14:37 +01:00
ce7d42621f test: add unit test for part one 2025-12-02 20:13:01 +01:00
8eafb1f7c5 feat: include 2015D8 2025-12-02 19:55:26 +01:00
81be03e8ee chore: add 2015D8 dataset 2025-12-02 19:54:54 +01:00
d662f693b8 feat: don't bruteforce every number, use recursion to generate patterns to look for 2025-12-02 18:09:45 +01:00
b0d16b1bac git: add .test files to ignore 2025-12-02 11:51:21 +01:00
3eb9120dc3 clean: remove test file 2025-12-02 11:50:40 +01:00
85ae14acbf docs: update readme 2025-12-02 09:58:52 +01:00
b7a98033c6 refactor: use package aggregators 2025-12-02 09:51:34 +01:00
8f265eae05 feat: add per-year aggregator packages so main.go remains readable 2025-12-02 09:51:21 +01:00
fe20a0b654 feat: solve part two using a bit of bruteforce 2025-12-02 07:48:48 +01:00
aa80e4eb8e revert: remove useless helper as PartOne and PartTwo will have a different behavior 2025-12-02 07:35:50 +01:00
0d029f2861 feat: unify invalid checks with exactTwo boolean parameter 2025-12-02 07:19:57 +01:00
edf94432f4 test: add unit test for part two 2025-12-02 06:53:45 +01:00
33552358f8 feat: solve p1 2025-12-02 06:52:30 +01:00
45d3e93a93 test: add unit test for p1 2025-12-02 06:46:42 +01:00
707f34e706 feat: include 2025D2 2025-12-02 06:36:56 +01:00
a05450c73a chore: add 2025D2 dataset 2025-12-02 06:27:22 +01:00
6b95f5ced0 test: add an almost arbitrary test for p2 2025-12-01 23:20:37 +01:00
9caee546f0 feat: solve part two by overriding wire b and re-evaluating circuit 2025-12-01 23:11:41 +01:00
8e831d85fe fix: replace Split with SplitSeq as it's a loop (thanks lsp) 2025-12-01 23:09:30 +01:00
b8ab5fae7b test: updateInput to simulate new ParseInput output 2025-12-01 23:08:22 +01:00
3262d1cbb8 refactor: build instruction in ParseInput and add evaluateWire helper 2025-12-01 23:07:29 +01:00
766ee97dd3 feat: solve part one using recursion and memoization 2025-12-01 22:59:28 +01:00
c41c96e628 test: add unit test for p1, based on manual calculations 2025-12-01 22:59:05 +01:00
fb46fceb75 refactor: just moving code here and there 2025-12-01 22:48:56 +01:00
c9fe217e4b feat: include 2015D7 2025-12-01 22:44:45 +01:00
d88d64edd4 chore: 2015D7 dataset 2025-12-01 22:43:24 +01:00
e81194721c refactoring: just better naming 2025-12-01 21:53:50 +01:00
a680e0ba48 refactor: create parseInstruction and instruction{} to use it in both parts 2025-12-01 21:31:51 +01:00
345defec4d feat: solve p2 2025-12-01 21:28:27 +01:00
3756279dab test: add unit test for p2 2025-12-01 20:52:57 +01:00
70189f4295 feat: solve part one 2025-12-01 20:47:02 +01:00
cdacf7ae06 test: add unit test for p1 from paper calculation 2025-12-01 20:46:55 +01:00
074c762960 feat: add 2015D6 dataset 2025-12-01 20:35:08 +01:00
6babf31a20 feat: include 2015D6 2025-12-01 20:35:00 +01:00
cdefd68320 feat: add 2018D3 dataset 2025-12-01 20:09:37 +01:00
f28611a7bf test: add unit tests for p1/p2 2025-12-01 20:09:29 +01:00
f98034b00c feat: solve both parts 2025-12-01 20:09:20 +01:00
375b756718 feat: include 2018D3 2025-12-01 20:09:12 +01:00
6668e8ae1b fix: remove empty branch 2025-12-01 19:37:28 +01:00
e58959778a docs: update readme 2025-12-01 19:36:25 +01:00
eb72fe9ebd build: get rid of "new" target 2025-12-01 19:35:01 +01:00
e355423675 feat: automatically download each day input 2025-12-01 19:32:01 +01:00
b1be29c21c feat: solve part two using modular arithmetic 2025-12-01 12:35:20 +01:00