Commit Graph

204 Commits

Author SHA1 Message Date
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
Kharec e198caf1b9 feat: include 2018D1 2025-11-30 12:45:45 +01:00
Kharec 9dd5f1354f docs: comment years 2025-11-29 16:15:14 +01:00
Kharec 8ad1b166f3 feat: add both solutions 2025-11-29 16:07:02 +01:00