3bc073f9b8
	 
				 
					 
					
						
						
							
							day18: problem 2 solution  
						
						 
						
						
						
						
					 
					
						2023-12-18 01:54:31 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						0a9fa8e32f
	 
				 
					 
					
						
						
							
							day18: problem 1 solution  
						
						 
						
						
						
						
					 
					
						2023-12-17 23:04:56 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e65c17c8e6
	 
				 
					 
					
						
						
							
							day17: don't revisit the start position  
						
						 
						
						
						
						
					 
					
						2023-12-17 20:55:42 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						3ee26cefe5
	 
				 
					 
					
						
						
							
							day17: super obvious code cleanups, more to do  
						
						 
						
						
						
						
					 
					
						2023-12-17 15:18:22 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						9e37b2ce66
	 
				 
					 
					
						
						
							
							day17: add heatmap visualization of final path  
						
						 
						
						
						
						
					 
					
						2023-12-17 15:11:43 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d422c9b84e
	 
				 
					 
					
						
						
							
							day17: problem 2 - an ugly mess but finally working  
						
						 
						
						
						
						
					 
					
						2023-12-17 05:57:30 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						5efa9853ca
	 
				 
					 
					
						
						
							
							day17: problem 1 solution - a messy one!  
						
						 
						
						
						
						
					 
					
						2023-12-17 04:38:35 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						da25b73eca
	 
				 
					 
					
						
						
							
							day16: use tail recursion unstead of passing mutable state  
						
						 
						
						
						
						
					 
					
						2023-12-16 11:07:39 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						842def62dc
	 
				 
					 
					
						
						
							
							day16: back to elegant recursion now that we track beams  
						
						 
						
						... 
						
						
						
						problem 1 solution was busting the stack, so used an iterative approach,
but now that we track lit beams we can bail out early enough not to bust
the stack. performance is the same but it's much nicer. 
						
						
					 
					
						2023-12-15 23:54:22 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						427a0c766b
	 
				 
					 
					
						
						
							
							day16: much cleaner, nicely factored solution, and much faster  
						
						 
						
						
						
						
					 
					
						2023-12-15 23:42:43 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						332620db0f
	 
				 
					 
					
						
						
							
							day16: problem 2 solution  
						
						 
						
						
						
						
					 
					
						2023-12-15 22:39:03 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						a8ec929818
	 
				 
					 
					
						
						
							
							day16: problem 1 solution  
						
						 
						
						
						
						
					 
					
						2023-12-15 22:19:46 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						f04078fbd7
	 
				 
					 
					
						
						
							
							boilerplate: remove unnecessary Duration import  
						
						 
						
						
						
						
					 
					
						2023-12-15 20:56:13 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						498c96eaeb
	 
				 
					 
					
						
						
							
							day5: reimplement in a sane, fast way  
						
						 
						
						
						
						
					 
					
						2023-12-15 18:10:29 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						84bcbd550b
	 
				 
					 
					
						
						
							
							day5: add timing  
						
						 
						
						
						
						
					 
					
						2023-12-15 18:09:49 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e12c0134b0
	 
				 
					 
					
						
						
							
							day15: functional hash implementation using fold()  
						
						 
						
						
						
						
					 
					
						2023-12-14 23:33:48 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						eac460417c
	 
				 
					 
					
						
						
							
							day15: problem 1 & 2 solutions  
						
						 
						
						
						
						
					 
					
						2023-12-14 22:07:49 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Keenan Tims 
							
						 
					 
					
						
						
							
						
						24c534ff88 
					 
					
						
						
							
							day14: itertools is not used anymore  
						
						 
						
						
						
						
					 
					
						2023-12-14 15:43:11 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Keenan Tims 
							
						 
					 
					
						
						
							
						
						4f1f838d62 
					 
					
						
						
							
							day14: simple Vec lookup is faster than HashMap since the cycle is short  
						
						 
						
						
						
						
					 
					
						2023-12-14 15:41:34 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Keenan Tims 
							
						 
					 
					
						
						
							
						
						ca3254e1e1 
					 
					
						
						
							
							day14: translation-based minimal copy implementation  
						
						 
						
						
						
						
					 
					
						2023-12-14 14:19:58 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						78fb884c03
	 
				 
					 
					
						
						
							
							day14: some silly and not super effective performance optimizations  
						
						 
						
						
						
						
					 
					
						2023-12-14 01:57:06 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						7926475a56
	 
				 
					 
					
						
						
							
							day14: refactor and cleanup duplicate code  
						
						 
						
						
						
						
					 
					
						2023-12-14 00:06:24 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						e062ef5078
	 
				 
					 
					
						
						
							
							day14 problem 2 solution  
						
						 
						
						
						
						
					 
					
						2023-12-13 23:29:03 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						11a7837400
	 
				 
					 
					
						
						
							
							day14: problem 1 solution  
						
						 
						
						
						
						
					 
					
						2023-12-13 22:12:50 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						5666aee5f2
	 
				 
					 
					
						
						
							
							day13: problem 2 solution  
						
						 
						
						
						
						
					 
					
						2023-12-12 22:20:54 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						f12e99c1f4
	 
				 
					 
					
						
						
							
							day13: problem 1 solution  
						
						 
						
						
						
						
					 
					
						2023-12-12 22:05:32 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						c797e874d5
	 
				 
					 
					
						
						
							
							boilerplate: add timing  
						
						 
						
						
						
						
					 
					
						2023-12-12 02:24:24 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						a431c4b75f
	 
				 
					 
					
						
						
							
							day12: problem 2 solution  
						
						 
						
						... 
						
						
						
						what a doozy. iterative solution from part 1 totally untenable.
recursive solution a bit tricky, but still not fast enough for brute
force. had to implement memoization cache for reasonable runtime. 
						
						
					 
					
						2023-12-12 02:20:53 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						20e2a9f7be
	 
				 
					 
					
						
						
							
							day12: problem 1 solution  
						
						 
						
						... 
						
						
						
						Slow and inefficient but fast enough for a solve 
						
						
					 
					
						2023-12-11 23:12:06 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						96ea3c317d
	 
				 
					 
					
						
						
							
							day11: problem 1 & problem 2 solutions  
						
						 
						
						
						
						
					 
					
						2023-12-10 22:34:39 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						ebd1d0ff94
	 
				 
					 
					
						
						
							
							day10: problem 2 solution  
						
						 
						
						... 
						
						
						
						slightly cheated for ideas on part 2. still a pretty ugly solution. 
						
						
					 
					
						2023-12-10 00:02:29 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						26f990840a
	 
				 
					 
					
						
						
							
							day10: problem 1 solution  
						
						 
						
						
						
						
					 
					
						2023-12-09 23:24:58 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						b84b0b04e2
	 
				 
					 
					
						
						
							
							day9: formatting  
						
						 
						
						
						
						
					 
					
						2023-12-08 21:41:30 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						37b645c341
	 
				 
					 
					
						
						
							
							day9: problem 2 solution  
						
						 
						
						
						
						
					 
					
						2023-12-08 21:39:45 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						d2718db633
	 
				 
					 
					
						
						
							
							day9: problem 1 solution  
						
						 
						
						
						
						
					 
					
						2023-12-08 21:29:19 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						be0ed3e377
	 
				 
					 
					
						
						
							
							day8: problem 1 & 2 solutions  
						
						 
						
						
						
						
					 
					
						2023-12-07 22:07:07 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						c8eb06a5ec
	 
				 
					 
					
						
						
							
							boilerplate: add test boilerplate  
						
						 
						
						
						
						
					 
					
						2023-12-07 20:56:59 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
					 
					
						
						
							
						
						9ab450d258
	 
				 
					 
					
						
						
							
							day7: problem 1 & 2 solutions  
						
						 
						
						... 
						
						
						
						forgot to commit problem 1 only solution 
						
						
					 
					
						2023-12-06 22:37:02 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Keenan Tims 
							
						 
					 
					
						
						
							
						
						9718b8ab04 
					 
					
						
						
							
							day6: problem 2 solution  
						
						 
						
						
						
						
					 
					
						2023-12-06 18:15:36 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Keenan Tims 
							
						 
					 
					
						
						
							
						
						de6e826c31 
					 
					
						
						
							
							day6: problem 1 solution  
						
						 
						
						
						
						
					 
					
						2023-12-06 18:07:15 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Keenan Tims 
							
						 
					 
					
						
						
							
						
						077f4ff8ee 
					 
					
						
						
							
							day5: problem 2 solution. parallelized!  
						
						 
						
						
						
						
					 
					
						2023-12-06 17:24:24 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Keenan Tims 
							
						 
					 
					
						
						
							
						
						0665e109af 
					 
					
						
						
							
							day5: performance: don't iterate to position just do arithemtic  
						
						 
						
						
						
						
					 
					
						2023-12-06 11:07:40 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Keenan Tims 
							
						 
					 
					
						
						
							
						
						6d1174e2db 
					 
					
						
						
							
							day5: problem 1 solution  
						
						 
						
						
						
						
					 
					
						2023-12-06 09:06:59 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Keenan Tims 
							
						 
					 
					
						
						
							
						
						25daf558e6 
					 
					
						
						
							
							boilerplate: make generic over Lines type  
						
						 
						
						
						
						
					 
					
						2023-12-05 21:46:11 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Keenan Tims 
							
						 
					 
					
						
						
							
						
						db4a8b0d24 
					 
					
						
						
							
							day4: Add tests  
						
						 
						
						
						
						
					 
					
						2023-12-05 21:45:49 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Keenan Tims 
							
						 
					 
					
						
						
							
						
						a1f44e5886 
					 
					
						
						
							
							day4: problem 2 solution  
						
						 
						
						
						
						
					 
					
						2023-12-05 19:47:45 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Keenan Tims 
							
						 
					 
					
						
						
							
						
						0d330c0a39 
					 
					
						
						
							
							day4: problem 1 solution  
						
						 
						
						
						
						
					 
					
						2023-12-05 19:13:55 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Keenan Tims 
							
						 
					 
					
						
						
							
						
						b1e7d7ad35 
					 
					
						
						
							
							day3: problem 2 solution. this is ugly.  
						
						 
						
						
						
						
					 
					
						2023-12-05 18:49:36 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Keenan Tims 
							
						 
					 
					
						
						
							
						
						1911614428 
					 
					
						
						
							
							day3: problem 1 solution  
						
						 
						
						
						
						
					 
					
						2023-12-05 16:01:40 -08:00  
					
					
						 
						
						
							
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Keenan Tims 
							
						 
					 
					
						
						
							
						
						b9247c9eaf 
					 
					
						
						
							
							day2: problem 2 solution  
						
						 
						
						
						
						
					 
					
						2023-12-05 13:25:11 -08:00