This website requires JavaScript.
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.
main
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
a90a59c846
Day 12, plus some edits to days 1 and 2
Jonathan Chan
2017-12-11 22:43:01 -0800
1078b40201
Day 8 - Used scanl, made things more concise
Jonathan Chan
2017-12-12 09:29:08 -0800
a5e12ca387
Day 11
Jonathan Chan
2017-12-10 22:43:13 -0800
a44830ae8d
Day 10 - condensed a lot of functions and used normal lists instead of Seq
Jonathan Chan
2017-12-10 11:00:11 -0800
a96ab19024
Day 10
Jonathan Chan
2017-12-09 23:00:44 -0800
732092abe3
Day 9 - alternate solution using only one foldl pass
Jonathan Chan
2017-12-08 22:51:36 -0800
512d3d1e8d
Day 9 - placed 917 and 905 on the leaderboardgit add .
Jonathan Chan
2017-12-08 22:01:23 -0800
8097d2578d
Day 5 - alternate solution using unboxed vectors, but unfortunately they're not any faster
Jonathan Chan
2017-12-12 09:29:05 -0800
d3506becf4
Day 8 - turns out getOrSetZero is redundant
Jonathan Chan
2017-12-12 09:29:03 -0800
218b09f2e9
Day 8, part 2
Jonathan Chan
2017-12-08 00:34:34 -0800
8aa2be284b
Day 8, part 1
Jonathan Chan
2017-12-08 00:27:09 -0800
02817b9cf2
Day 7 - refactored for clarity
Jonathan Chan
2017-12-12 09:29:00 -0800
5d727c1817
Day 7, part 2 - finished, not very pretty but gets it done
Jonathan Chan
2017-12-12 09:28:58 -0800
6410560315
Day 7, part 2 - partial progress: made a tree, I guess?
Jonathan Chan
2017-12-06 23:22:16 -0800
91d0fb46bc
Day 7, part 1 - minor adjustments
Jonathan Chan
2017-12-06 22:26:30 -0800
a58f59b31f
Day 7, part 1
Jonathan Chan
2017-12-06 22:21:37 -0800
e910558507
Day 5 - replaced Seq Int with IntMap Int for slight performance improvement...
Jonathan Chan
2017-12-06 20:38:38 -0800
f395778a9f
Day 5 (takes 40 seconds... too long??)
Jonathan Chan
2017-12-04 23:07:09 -0800
40c2d06a8c
Day 6 - imported only needed functions so that I don't have to Data.* everywhere
Jonathan Chan
2017-12-12 09:28:55 -0800
cf61ef2a44
Refactored Day 6 for clarity.
Jonathan Chan
2017-12-12 09:28:52 -0800
2b209648d5
Day 6, updated for part 2
Jonathan Chan
2017-12-12 09:28:47 -0800
9052fd9db6
Day 6, part 1
Jonathan Chan
2017-12-12 09:28:43 -0800
507a271dab
Create README.md
Jonathan Chan
2017-12-04 23:27:33 -0800
4b86784e32
Day 4
Jonathan Chan
2017-12-12 09:28:32 -0800
845fabfc25
Day 3 finally done!
Jonathan Chan
2017-12-03 23:48:57 -0800
45e4e78ab3
Day 3: getDownstairs is incorrect, but the rest should be correct...
Jonathan Chan
2017-12-03 22:32:21 -0800
f374478dd2
Added alternate solution to Day 2-2 that doesn't use applicative.
Jonathan Chan
2017-12-02 11:11:28 -0800
f2dd458149
Day 2, on time!
Jonathan Chan
2017-12-02 10:43:59 -0800
412d637866
Day 1, done! (Late oops)
Jonathan Chan
2017-12-02 09:41:43 -0800