Commit Graph
100 Commits
Author SHA1 Message Date
Kharec e0465b9b8d clean: no test cases for this day 2025-12-04 16:32:43 +01:00
Kharec 0523610080 chore: 2015D11 dataset 2025-12-04 16:24:24 +01:00
Kharec e341c12763 feat: include D11 2025-12-04 16:24:14 +01:00
Kharec 6cff0b7931 feat: solve part two with iterative process 2025-12-04 07:05:56 +01:00
Kharec f5bfe1e578 test: unit test for part two 2025-12-04 06:48:41 +01:00
Kharec 0fbe2956c3 refactor: didn't press :w it seems 2025-12-04 06:46:28 +01:00
Kharec 9280430285 feat: solve part one using prebuilt map for rolls 2025-12-04 06:45:40 +01:00
Kharec b91e34bc8e test: add unit test for part one 2025-12-04 06:32:20 +01:00
Kharec 9f10576a0c feat: include 2025D4 2025-12-04 06:30:23 +01:00
Kharec 8a9f4cb506 chore: add 2025D4 dataset 2025-12-04 06:29:55 +01:00
Kharec d3098c0d9c cleaning: input.txt is either downloaded or created empty 2025-12-03 15:17:24 +01:00
Kharec 8be18b6b38 refactor: better explain scaffolding 2025-12-03 15:16:25 +01:00
Kharec b39b8c885b feat: solve part two, still with greedy algorithm 2025-12-03 10:36:14 +01:00
Kharec 56901ca553 test: add unit test for part two 2025-12-03 10:10:45 +01:00
Kharec e3c9da9621 feat: solve part one using a prebuild list to reduce comparisons 2025-12-03 10:09:13 +01:00
Kharec 070bd8be9a fix: modify test, we're parsing [][]int instead of []string for this day 2025-12-03 09:57:12 +01:00
Kharec c1ba2ca02b test: add unit test for part one 2025-12-03 09:28:42 +01:00
Kharec 146b63706a feat: include 2025D3 2025-12-03 09:26:32 +01:00
Kharec 1421062a75 chore: 2025D3 dataset 2025-12-03 09:26:19 +01:00
Kharec b9928789df feat: solve day10 using traditionnal look and say 2025-12-02 23:12:11 +01:00
Kharec b7aafeec52 test: no test 2025-12-02 23:11:09 +01:00
Kharec a935e35d82 feat: include 2015D10 2025-12-02 23:08:47 +01:00
Kharec e2c2d0df71 chore: 2015D10 dataset 2025-12-02 22:56:27 +01:00
Kharec e3a47b0e16 feat: solve part two 2025-12-02 22:13:31 +01:00
Kharec 86370f27c8 refactor: create functions that we gonna use for part two 2025-12-02 22:10:12 +01:00
Kharec c61e573e14 test: add unit test for part two 2025-12-02 21:57:27 +01:00
Kharec d16f70cf00 feat: solve part one with brute-force and permutation enumeration 2025-12-02 21:56:06 +01:00
Kharec 6f7561213e test: add unit test for part one 2025-12-02 21:52:56 +01:00
Kharec 94b15548cf feat: include 2015D9 2025-12-02 21:23:49 +01:00
Kharec 4e9e2b399c chore: add 2015D9 dataset 2025-12-02 21:23:24 +01:00
Kharec 035e56bf53 feat: solve part two 2025-12-02 21:21:49 +01:00
Kharec 61cf84aa8a test: add unit test for part two 2025-12-02 20:39:54 +01:00
Kharec 5513ae8386 feat: solve part one using basic parsing 2025-12-02 20:38:20 +01:00
Kharec f1730c30cb feat: register D8 and parse input 2025-12-02 20:14:37 +01:00
Kharec ce7d42621f test: add unit test for part one 2025-12-02 20:13:01 +01:00
Kharec 8eafb1f7c5 feat: include 2015D8 2025-12-02 19:55:26 +01:00
Kharec 81be03e8ee chore: add 2015D8 dataset 2025-12-02 19:54:54 +01:00
Kharec d662f693b8 feat: don't bruteforce every number, use recursion to generate patterns to look for 2025-12-02 18:09:45 +01:00
Kharec b0d16b1bac git: add .test files to ignore 2025-12-02 11:51:21 +01:00
Kharec 3eb9120dc3 clean: remove test file 2025-12-02 11:50:40 +01:00
Kharec 85ae14acbf docs: update readme 2025-12-02 09:58:52 +01:00
Kharec b7a98033c6 refactor: use package aggregators 2025-12-02 09:51:34 +01:00
Kharec 8f265eae05 feat: add per-year aggregator packages so main.go remains readable 2025-12-02 09:51:21 +01:00
Kharec fe20a0b654 feat: solve part two using a bit of bruteforce 2025-12-02 07:48:48 +01:00
Kharec aa80e4eb8e revert: remove useless helper as PartOne and PartTwo will have a different behavior 2025-12-02 07:35:50 +01:00
Kharec 0d029f2861 feat: unify invalid checks with exactTwo boolean parameter 2025-12-02 07:19:57 +01:00
Kharec edf94432f4 test: add unit test for part two 2025-12-02 06:53:45 +01:00
Kharec 33552358f8 feat: solve p1 2025-12-02 06:52:30 +01:00
Kharec 45d3e93a93 test: add unit test for p1 2025-12-02 06:46:42 +01:00
Kharec 707f34e706 feat: include 2025D2 2025-12-02 06:36:56 +01:00
Kharec a05450c73a chore: add 2025D2 dataset 2025-12-02 06:27:22 +01:00
Kharec 6b95f5ced0 test: add an almost arbitrary test for p2 2025-12-01 23:20:37 +01:00
Kharec 9caee546f0 feat: solve part two by overriding wire b and re-evaluating circuit 2025-12-01 23:11:41 +01:00
Kharec 8e831d85fe fix: replace Split with SplitSeq as it's a loop (thanks lsp) 2025-12-01 23:09:30 +01:00
Kharec b8ab5fae7b test: updateInput to simulate new ParseInput output 2025-12-01 23:08:22 +01:00
Kharec 3262d1cbb8 refactor: build instruction in ParseInput and add evaluateWire helper 2025-12-01 23:07:29 +01:00
Kharec 766ee97dd3 feat: solve part one using recursion and memoization 2025-12-01 22:59:28 +01:00
Kharec c41c96e628 test: add unit test for p1, based on manual calculations 2025-12-01 22:59:05 +01:00
Kharec fb46fceb75 refactor: just moving code here and there 2025-12-01 22:48:56 +01:00
Kharec c9fe217e4b feat: include 2015D7 2025-12-01 22:44:45 +01:00
Kharec d88d64edd4 chore: 2015D7 dataset 2025-12-01 22:43:24 +01:00
Kharec e81194721c refactoring: just better naming 2025-12-01 21:53:50 +01:00
Kharec a680e0ba48 refactor: create parseInstruction and instruction{} to use it in both parts 2025-12-01 21:31:51 +01:00
Kharec 345defec4d feat: solve p2 2025-12-01 21:28:27 +01:00
Kharec 3756279dab test: add unit test for p2 2025-12-01 20:52:57 +01:00
Kharec 70189f4295 feat: solve part one 2025-12-01 20:47:02 +01:00
Kharec cdacf7ae06 test: add unit test for p1 from paper calculation 2025-12-01 20:46:55 +01:00
Kharec 074c762960 feat: add 2015D6 dataset 2025-12-01 20:35:08 +01:00
Kharec 6babf31a20 feat: include 2015D6 2025-12-01 20:35:00 +01:00
Kharec cdefd68320 feat: add 2018D3 dataset 2025-12-01 20:09:37 +01:00
Kharec f28611a7bf test: add unit tests for p1/p2 2025-12-01 20:09:29 +01:00
Kharec f98034b00c feat: solve both parts 2025-12-01 20:09:20 +01:00
Kharec 375b756718 feat: include 2018D3 2025-12-01 20:09:12 +01:00
Kharec 6668e8ae1b fix: remove empty branch 2025-12-01 19:37:28 +01:00
Kharec e58959778a docs: update readme 2025-12-01 19:36:25 +01:00
Kharec eb72fe9ebd build: get rid of "new" target 2025-12-01 19:35:01 +01:00
Kharec e355423675 feat: automatically download each day input 2025-12-01 19:32:01 +01:00
Kharec b1be29c21c feat: solve part two using modular arithmetic 2025-12-01 12:35:20 +01:00
Kharec b04dcc5aea test: add P2 unit test 2025-12-01 12:20:11 +01:00
Kharec 11b6227d0e feat: add P1 solution 2025-12-01 12:19:01 +01:00
Kharec 31660c7510 test: add P1 unit test 2025-12-01 12:18:54 +01:00
Kharec 728bbb2a06 feat: add input for 2022D2 2025-12-01 12:18:42 +01:00
Kharec 16a99ba8d8 feat: include 2022D2 2025-12-01 12:18:36 +01:00
Kharec 0949840317 feat: solve P2, same as P1 but check every time the dial passes through 0 during the rotation 2025-12-01 07:41:50 +01:00
Kharec daec5a8671 test: add unit test for p2 2025-12-01 07:35:03 +01:00
Kharec d66cd1179d feat: solve P1 using modulo to keep it between boundaries 2025-12-01 07:31:15 +01:00
Kharec 2d3828c55d test: design unit test for part one 2025-12-01 07:20:12 +01:00
Kharec b7a7bfb5c7 feat: add 2025D1 input 2025-12-01 07:20:01 +01:00
Kharec be918bdf6c feat: include 2025D1 let's gooooo 2025-12-01 07:19:55 +01:00
Kharec c8517b674f docs: explain the string answers trick 2025-11-30 13:35:55 +01:00
Kharec f3d73b7c4b feat: P2 solution using pairwise comparison 2025-11-30 13:08:46 +01:00
Kharec bcef8844ec build: only test internal/ 2025-11-30 13:04:18 +01:00
Kharec 20ab5fe4e5 test: adapted p2 test as it expects string and not int 2025-11-30 13:04:08 +01:00
Kharec 959c05b769 feat: add part one solution 2025-11-30 12:55:52 +01:00
Kharec 4179c88afb feat: include 2018D2 2025-11-30 12:50:47 +01:00
Kharec 0dc0c3af3d feat: 2018D2 dataset 2025-11-30 12:50:41 +01:00
Kharec c6dc950d3f test: add unit test for p1 2025-11-30 12:50:33 +01:00
Kharec e5a1504f6b feat: add solutions for P1/P2 2018D1 2025-11-30 12:46:09 +01:00
Kharec 9da1fa02c8 feat: 2018D1 dataset 2025-11-30 12:46:01 +01:00
Kharec 99857d8ca5 test: add unit tests for P1/P2 2025-11-30 12:45:53 +01:00