Skip to content

narimiran/AdventOfCode2022

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Advent of Code 2022

All my Advent of Code repos:

 

Last year's Python was fun, so I'll keep it as my main language this year.

But to keep things interesting and (too?) challenging, I'll make my first learning steps in Clojure. If you have any advice how to improve my Clojure solutions, please open an issue or comment in any other way.

Solutions

Task Python Solution Clojure Solution Comment for Python solution
Day 00: Helper file aoc.py aoc.clj Utilities I use to solve the tasks.
Day 01 day01.py day01.clj Unexpected double-newline input for the first task.
Day 02 day02.py day02.clj Using match statement (Python 3.10+).
Day 03 day03.py day03.clj I like my Clojure solution more.
Day 04 day04.py day04.clj Look ma, no sets!
Day 05 day05.py day05.clj Parsing the input like a real man.
Day 06 day06.py day06.clj The easiest one so far.
Day 07 day07.py day07.clj The toughest one so far.
Day 08 day08.py day08.clj Look pa, no dicts!
Day 09 day09.py day09.clj Complex numbers --> simple solution.
Day 10 day10.py day10.clj Advent of off-by-one errors.
Day 11 day11.py day11.clj Classy monkeys.
Day 12 day12.py day12.clj Start from the end, obviously.
Day 13 day13.py day13.clj eval + pattern matching on types.
Day 14 day14.py day14.clj Both parts in one go.
Day 15 day15.py day15.clj Scan row-by-row for a hole in the scanned positions.
Day 16 day16.py day16.clj Floyd-Warshall and only traverse through the valves with positive flow.
Day 17 day17.py day17.clj The traditional "find a cycle" task.
Day 18 day18.py day18.clj Cubes are just points in 3D.
Day 19 day19.py day19.clj Ungh.
Day 20 day20.py day20.clj The traditional "just use deque.rotate" task.
Day 21 day21.py day21.clj DFS and binary search.
Day 22 day22.py day22.clj Hardcoded the wrapping rules for my input. Sorry, not sorry.
Day 23 day23.py day23.clj More complex numbers. Plain numbers are much faster.
Day 24 day24.py day24.clj Set operations for the win.
Day 25 day25.py day25.clj +/- 2 for an easy conversion.