This website requires JavaScript.
d762ed6cb5
Day 5: Some cleanup.
Jonathan Chan
2019-12-05 15:51:52 -0800
ee4ca7279d
Day 5.
Jonathan Chan
2019-12-05 00:39:19 -0800
6ad4c77ce1
Day 4.
Jonathan Chan
2019-12-03 22:12:31 -0800
a588c9b2d1
Day 3: Cleanup-ish.
Jonathan Chan
2019-12-03 21:20:46 -0800
a682d29945
Day 3. It's ugly don't look at it.
Jonathan Chan
2019-12-03 20:46:04 -0800
7a1101c69f
Day 02. I'll add comments later.
Jonathan Chan
2019-12-02 01:25:42 -0800
a14466c2c2
Day 1: Replaced comment box with block comment.
Jonathan Chan
2019-11-30 21:43:52 -0800
0bcab1f340
Day 1.
Jonathan Chan
2019-11-30 21:37:37 -0800
2b4c04735b
Initial commit
Jonathan Chan
2024-12-10 08:17:53 -0500
3190c4b053
Day 25git status!
Jonathan Chan
2018-12-24 22:12:58 -0800
270ef6c664
Day 24.
Jonathan Chan
2018-12-24 18:10:18 -0800
3d3559bb38
Day 22 - fixed part 2 (Visiteds should save Key, not just Coordinate); Day 23 - part 2 using SBV (but runs very slowly).
Jonathan Chan
2018-12-23 22:08:06 -0800
0380a9165e
Day 23 - part 1.
Jonathan Chan
2018-12-23 16:41:57 -0800
81ab71c823
Day 22 - part 1 finished, part 2 is 8 minutes off (i.e. one extra region travelled).
Jonathan Chan
2018-12-23 14:21:03 -0800
0657d17578
Day 21 - decompiled.
Jonathan Chan
2018-12-21 14:24:24 -0800
d2924d7265
Day 20 -- really slow...
Jonathan Chan
2018-12-20 19:39:07 -0800
04c021ff22
Day 19.
Jonathan Chan
2018-12-19 00:02:06 -0800
1bb2027bd0
Day 17 - added implementation using UArray but it doesn't work :(
Jonathan Chan
2018-12-18 15:22:11 -0800
4d6f80a4db
Day 18 - replaced Matrix with UArray with great performance improvements!
Jonathan Chan
2018-12-18 14:41:32 -0800
16e6c33658
Day 18 - a really slow solution (~2 mins).
Jonathan Chan
2018-12-18 12:59:33 -0800
3251270ee9
Day 17 - fixed infinite loop (canFlood incorrect side boundaries), finished parts 1 and 2.
Jonathan Chan
2018-12-18 11:18:47 -0800
50867bfd20
Day 17 -- part 1 tentative solution (has infinite loop and too many water tiles when bottom is reached).
Jonathan Chan
2018-12-18 01:06:34 -0800
cc6bf1f7dc
Day 16.
Jonathan Chan
2018-12-17 12:49:46 -0800
e4ba4a6a86
Day 14.
Jonathan Chan
2018-12-16 20:52:41 -0800
3d1cac066d
Day 13.
Jonathan Chan
2018-12-16 11:04:25 -0800
40a86fe743
Update README.md
Jonathan Chan
2018-12-13 13:21:13 -0800
73c3b07df6
Day 12.
Jonathan Chan
2018-12-15 21:59:54 -0800
0244211290
Day 11 - part 2 using a modification of Kadane's algorithm.
Jonathan Chan
2018-12-13 12:08:04 -0800
c53606ebfa
Day 11 - part 1.
Jonathan Chan
2018-12-12 18:08:36 -0800
9f6aa1dc69
Day 10.
Jonathan Chan
2018-12-12 16:52:31 -0800
7fe5f45a60
Day 09.
Jonathan Chan
2018-12-09 00:28:33 -0800
e736f827ae
Day 07 - added transitive reduction to dependency graph and .dot output for fun :3
Jonathan Chan
2018-12-08 12:01:24 -0800
a32b2c7628
Day 08.
Jonathan Chan
2018-12-07 23:25:58 -0800
effae7bb4e
Day 07 - part 2.
Jonathan Chan
2018-12-07 11:08:17 -0800
dc664e3b16
Day 07 - part 1.
Jonathan Chan
2018-12-06 23:17:18 -0800
4858769427
Day 06.
Jonathan Chan
2018-12-06 20:07:26 -0800
ac3bd77f23
Day 05.
Jonathan Chan
2018-12-05 11:53:46 -0800
49f211ca63
Day 04 - did some refactoring, but guardTimes can be written better.
Jonathan Chan
2018-12-04 17:44:14 -0800
15e1fb4600
Day 04 - an incredibly ugly solution.
Jonathan Chan
2018-12-04 00:00:22 -0800
6fa7a855ee
Day 03 - now with IntMap!
Jonathan Chan
2018-12-03 10:08:06 -0800
e296528b63
Update README.md
Jonathan Chan
2018-12-01 23:31:08 -0800
242ec7fdc4
Day 03 - preliminary solution using lists; will implement using Map/Set/etc. later.
Jonathan Chan
2018-12-03 00:24:21 -0800
b07bc495bb
Day 02 - (\) deletes the first occurrence, so back to using zip + filter.
Jonathan Chan
2018-12-02 09:28:02 -0800
ff27252c39
Day 02.
Jonathan Chan
2018-12-01 23:14:27 -0800
0f238f22a1
Day 01 - minor editing, contracting part 2.
Jonathan Chan
2018-12-01 11:03:42 -0800
f46e146baa
Day 01.
Jonathan Chan
2018-12-01 00:41:50 -0800
19c0078549
Initial commit.
Jonathan Chan
2018-11-25 18:32:15 -0800
a0df5a759c
Semigroup has been added to Prelude, so implementations of Monoid were broken. For day 20, use of the AC-Vector library has been replaced with various implementations of typeclasses necessary to make everything work. Extra packages used have also been added to the README.
Jonathan Chan
2018-07-29 11:40:30 -0700
26da4fd154
Update README.md
Jonathan Chan
2017-12-25 16:18:37 -0800
a0bae97745
Day 25 - AoC 2017 all done :)
Jonathan Chan
2017-12-25 16:03:27 -0800
42ef138744
Day 24, a day late because I'm on vacation :/
Jonathan Chan
2017-12-25 08:40:14 -0800
adec393e53
Day 23 - off-by-one error >:[
Jonathan Chan
2017-12-24 01:14:34 -0800
dbd0b00676
Day 23 - added implementation of part 2 in Haskell
Jonathan Chan
2017-12-23 20:30:46 -0800
cfe8ff331c
Day 15 - apparently much faster with optiimizations?
Jonathan Chan
2017-12-23 17:39:44 -0800
41d62689df
Day 5 - very slight performance improvement with strictness during recursion
Jonathan Chan
2017-12-23 17:32:25 -0800
d7ec7ed65b
Day 17 - very slight performance improvement by making oneth strict
Jonathan Chan
2017-12-23 17:23:29 -0800
812cae03d3
Day 14 - performance improvements using strictness
Jonathan Chan
2017-12-23 17:15:35 -0800
600f4df58e
Day 23 - renaming
Jonathan Chan
2017-12-23 16:49:33 -0800
f4b9ddef4b
Day 23, part 2 - decompiled input by hand
Jonathan Chan
2017-12-23 11:44:16 -0800
746da09956
Day 23, part 1
Jonathan Chan
2017-12-22 23:02:20 -0800
b7e9013d09
Day 22 - minor refactoring
Jonathan Chan
2017-12-22 13:06:37 -0800
22aad7dd66
Day 22
Jonathan Chan
2017-12-22 00:37:21 -0800
ed514f1519
Day 21 - refactoring for clarity and conciseness
Jonathan Chan
2017-12-21 13:58:44 -0800
3d8c035561
Day 21 - will clean up code later
Jonathan Chan
2017-12-21 10:35:03 -0800
ddd8e7537d
Day 20 - replaced custom Property data type with Vector.V3 to avoid having to define vector addition and scalar multiplication myself
Jonathan Chan
2017-12-20 11:45:12 -0800
c3c22a5f8f
Minor refactoring - replaced all fmaps with <$> (idk why I kept using fmaps in the first place)
Jonathan Chan
2017-12-19 23:40:38 -0800
309920939a
Day 20
Jonathan Chan
2017-12-19 23:13:25 -0800
828efdd7a8
Update README.md
Jonathan Chan
2017-12-18 23:46:02 -0800
14fb48f3a1
Day 19
Jonathan Chan
2017-12-18 23:45:10 -0800
87c7cf68c8
Day 18, part 1 - minor refactoring
Jonathan Chan
2017-12-18 22:01:29 -0800
c13fd64788
Day 18, part 2 - now with record syntax!
Jonathan Chan
2017-12-18 21:58:37 -0800
022008fdd1
Day 18
Jonathan Chan
2017-12-18 13:38:37 -0800
e9a03399c6
Day 18 - beginnings of a solution, but it's late and I need to sleep
Jonathan Chan
2017-12-18 02:02:31 -0800
1a515e1254
Day 14 - minor refactoring
Jonathan Chan
2017-12-18 02:02:10 -0800
a0cd4a375d
Update README.md
Jonathan Chan
2017-12-17 16:20:53 -0800
0a29e1e0b6
Fixed input imports due to 0 prefix for days 01 to 09.
Jonathan Chan
2017-12-17 16:11:13 -0800
0ce9ae7665
Day 5 - added some strict evaluation for performance
Jonathan Chan
2017-12-17 16:10:39 -0800
065421a742
Update README.md
Jonathan Chan
2017-12-17 15:31:53 -0800
ec07598f61
Day 17 - sped up to ~6s using strict recursion!
Jonathan Chan
2017-12-17 15:13:38 -0800
c585f7d7ba
Day 16 - finally!
Jonathan Chan
2017-12-17 11:55:59 -0800
45d8cfc46e
Day 17 - it's a lot faster in Javascript...
Jonathan Chan
2017-12-16 23:37:57 -0800
e46dd27349
Day 16 - part 2 still slow...
Jonathan Chan
2017-12-16 22:30:06 -0800
5969de9996
Day 15 - removed old solution in favour of faster strict solution
Jonathan Chan
2017-12-16 11:14:01 -0800
871855ff85
Day 12 - removed old solution in favour of graph-based solution
Jonathan Chan
2017-12-16 11:12:40 -0800
3921c021d2
Day 16 - how to do part 2 without taking 3 years ��
Jonathan Chan
2017-12-16 11:09:58 -0800
23c6504372
Day 15 - minor changes in style
Jonathan Chan
2017-12-15 09:33:25 -0800
b12aa2915a
Day 15 - refactored strict version with some fancy ~~custom operators~~
Jonathan Chan
2017-12-15 09:28:02 -0800
906eb9106b
Day 15 - strict recursive alternate solution that takes < 1 min
Jonathan Chan
2017-12-15 00:43:08 -0800
d378e3e50e
Day 15 - takes 2+ minutes to run and froze my computer twice but it works I guess...
Jonathan Chan
2017-12-14 23:49:03 -0800
6a26332994
Day 14 - condensed some stuff, it's fine
Jonathan Chan
2017-12-14 15:06:36 -0800
ade0446c62
Day 14, both parts done
Jonathan Chan
2017-12-14 10:32:13 -0800
ac2c786b6c
Day 14, part 2 - partial progress
Jonathan Chan
2017-12-13 23:30:42 -0800
3ca34256b1
Day 14, part 1
Jonathan Chan
2017-12-13 23:10:07 -0800
c2c01450c9
Day 13
Jonathan Chan
2017-12-12 22:59:14 -0800
492ccb0a5d
Day 12 - use array constructor instead of graphFromEdges, which needs and produces some extra stuff.
Jonathan Chan
2017-12-12 15:30:16 -0800
dd002c175c
Day 12 - is it cheating if I use built-in graph functions? owo
Jonathan Chan
2017-12-12 10:32:51 -0800
2b02bd4863
Prepended single-digit files with 0s for nice ordering.
Jonathan Chan
2017-12-12 09:29:13 -0800
98782c2506
Removed alternate solution for day 2; minor adjustments to day 5 alternate solution (Vector still slower than IntMap...)
Jonathan Chan
2017-12-12 09:29:11 -0800
ad9d3674f3
Minor refactorings of days 3, 4, 5, 6, 7, 9, 11, and removed alternate solution (i.e. the original one) for 9.
Jonathan Chan
2017-12-12 00:12:51 -0800
46ca9a3347
Day 12 - minor refactoring
Jonathan Chan
2017-12-11 23:05:16 -0800