Skip to content

narimiran/AdventOfCode2023

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Advent of Code 2023

All my Advent of Code repos:

 

Last year I have used Clojure for the first time. I really liked the language (I've also written about how to make Clojure solutions faster), and I've decided it will be my main language this year.

As a preparation for this year, I used Clojure for AoC 2016 and I experimented with the quil library to make some visualizations.

This year, I plan to do as much visualizations as I can, using the same library.

 

I currently don't have the time to solve in multiple languages, but I suspect I'll add solutions in some different language at some later date.

 

Task Clojure Comment
Day 00: Helper file aoc.clj Utilities I use to solve the tasks.
Day 01 day01.clj Tougher than expected for day 1.
Day 02 day02.clj Immediately calculate maximums.
Day 03 day03.clj Tedious parsing.
Day 04 day04.clj Set as a predicate for keep.
Day 05 day05.clj Toughest one so far.
Day 06 day06.clj Will the real Day1 please stand up?
Day 07 day07.clj Changing card representation is the real MVP.
Day 08 day08.clj Underwhelming to see that to be solution for part 2.
Day 09 day09.clj .esreveR
Day 10 day10.clj No BFS needed.
Day 11 day11.clj Off-by-one trap!
Day 12 day12.clj Immutability, meet my friend atom.
Day 13 day13.clj My helper functions to the rescue.
Day 14 day14.clj Very slow solution. There must be a better way.
Day 15 day15.clj Advent of Reading.
Day 16 day16.clj Is this a cousin of Day 10?
Day 17 day17.clj Consider only L/R directions, and then go straight as far as you can.
Day 18 day18.clj TIL about Shoelace formula and Pick's theorem.
Day 19 day19.clj Simpler ranges than Day 5.
Day 20 day20.clj Some manual searching through the input needed.
Day 21 day21.clj Polynomial interpolation.
Day 22 day22.clj Jenga!
Day 23 day23.clj Compressing the graph for part 2.
Day 24 day24.clj Don't ask me how this works.
Day 25 day25.clj Monte Carlo to find "hot" edges.