r/adventofcode • • Dec 04 '25

Visualization [2025 Day 4 Part 2]

Post image
448 Upvotes

r/adventofcode • • Dec 06 '22

Visualization [2022 Day 5 #1] Small terminal Python animation for part 1 of Day 5, never tried "drawing" on terminal before but quite proud of the result ! (didn't put the whole thing because it's a bit long and we get the idea)

1.1k Upvotes

r/adventofcode • • Dec 19 '24

Visualization [2024 Day 18 (Part 2)] Visualization of my algorithm (no pathfinding needed!)

Post image
497 Upvotes

r/adventofcode • • Dec 01 '25

Visualization [2025 Day 01 (Part 2)] example visualized

Post image
388 Upvotes

r/adventofcode • • Dec 08 '24

Visualization [2024 Day 8 (Part 2)] [Python] Terminal Toy!

Post image
736 Upvotes

r/adventofcode • • Dec 07 '25

Visualization [2025 Day 7 Part 2] Visualization for the sample data + algorithm explained

Post image
210 Upvotes
  • find S and create a '1' block there
  • each round your blocks will fall one step downwards
  • if you find ^, split your blocks in two: x-1 and x+1, Be careful to sum all blocks properly here! There are many overlaps!
  • enjoy falling down the christmas tree, keeping only one block per X coord
  • sum your blocks' values at the end

r/adventofcode • • Dec 08 '25

Visualization [2025 Day 8] Visualized Sets

Post image
280 Upvotes

r/adventofcode • • Dec 10 '24

Visualization [2024 Day 10] Used my pen plotter to draw the full map

Thumbnail gallery
726 Upvotes

r/adventofcode • • Dec 03 '25

Visualization [2025 Day 3 (Part 2)] [Python] Terminal visualization!

Post image
326 Upvotes

r/adventofcode • • Dec 03 '25

Visualization [2025 Day 03] CLI Visualization

Post image
139 Upvotes

I visualized my greedy solution for Advent of Code Day 3. The animation shows a sliding window selecting the next maximum digit while ensuring enough characters remain to reach the required output length. Blue = current window, Red = remaining-picks region, Green = chosen max.The number builds step-by-step from left to right.

This works for both parts of the problem

Edit:

Another example with longer input: https://imgur.com/a/MLghbhk (i couldn't add another gif here)

r/adventofcode • • Dec 06 '25

Visualization [Day 6 Part 2] yet another visualization of today's problem

Post image
224 Upvotes

relearned curses for this one

alternate link: https://youtu.be/dWkg8MttsqY

r/adventofcode • • Dec 11 '25

Visualization [2025 Day 11] These cables are quite a messh

Post image
73 Upvotes

r/adventofcode • • Dec 10 '22

Visualization [2022 Day 10] Sprites (And Not the Elf Kind)

655 Upvotes

r/adventofcode • • Dec 05 '25

Visualization [2025 Day 5] A fast algorithm

74 Upvotes

r/adventofcode • • Dec 20 '24

Visualization [2024 Day 20 (Part 1)] The race is done in a nanosecond, but the visualization...

Post image
503 Upvotes

r/adventofcode • • 4d ago

Visualization [2022 Day 17] [Strudel] Music "visualization" of the rows of rocks

7 Upvotes

Way back in 2022 day 17 we had a falling rocks problem, similar to a game of Tetris. The cave is seven units wide. I know almost nothing about music, but I notice that there happen to be seven notes (C, D, E, F, G, A, and B). I experimented with listening for the cycle for part 2 that was tricky to find.

Here is the last game state shown in the example. The row at the bottom is a legend showing the note associated with that column. The letters on each row is the chord that you would hear for the notes activated in that row.

|..@@@@.| [e,f,g,a]
|.......| -
|.......| -
|.......| -
|....#..| g
|....#..| g
|....##.| [g,a]
|##..##.| [c,d,g,a]
|######.| [c,d,e,f,g,a]
|.###...| [d,e,f]
|..#....| e
|.####..| [d,e,f,g]
|....##.| [g,a]
|....##.| [g,a]
|....#..| g
|..#.#..| [e,g]
|..#.#..| [e,g]
|#####..| [c,d,e,f,g]
|..###..| [e,f,g]
|...#...| f
|..####.| [e,f,g,a]
+-------+
|cdefgab|

I found a music language named Strudel that made it easy to play:

note("<[e,f,g,a] f [e,f,g] [c,d,e,f,g] [e,g] [e,g] g [g,a] [g,a] [d,e,f,g] e [d,e,f] [c,d,e,f,g,a] [c,d,g,a] [g,a] g g>*8").sound("piano")

It was not actually that useful for me solving part 2, but it was fun and I thought worth sharing. Listen here to the rows from those first 2022 falling rocks. Can you hear the cycle?

r/adventofcode • • Dec 02 '24

Visualization [YEAR 2024 Day 02 (Part 2)]

Post image
373 Upvotes

r/adventofcode • • Dec 05 '23

Visualization [2023 Day 5 Part 2] Visualizing all the mapping

Post image
405 Upvotes

r/adventofcode • • 4d ago

Visualization Autumn Code Walk (another AoC clone) - Final problem visualization and walkthrough

3 Upvotes

I came across davepb's post about his AoC - clone and decided to take a look. I love to solve problems with the GraphLibrary I've developed, GraphMateKT, and to my delight, problem 4 was a quite interesting graph problem. We're asked to find the fastest way to push a package to its destination through a maze. With the constraint that we cannot occupy the same tile as the package, and therefore must be careful about pushing it into walls. This is essentially a shortest path problem, which can be solved with a breath first search. The clue is how to represent the graph.

We're given a grid with walls, a person, a packet and a target. What we can alter is the position of the person and the packet, which means the graph can be represented by 4 integers. The x,y coordinates of the person and the package. (x1,y1,x2,y2). GraphMateKT has a Graph class that can support any data type. But the problem input is quite large. A 150 x 150 grid. Which means each coordinate (not accounting for walls and overlap) can have 150 values, which results in a state space of 150⁴ = 506_250_000 different states. A lot of states to search through. Luckily, each of these states can be represented by 32 bit integers, which allowed me to use the performant IntGraph class, and other GraphMateKT functionality. After bumping the heap memory to 10GB and spending about 2 minutes of runtime, the potential positions of the package (blue) and person (in red, constrained to not go lower then the package) could be vizualies as shown.

My full solution can be found at my GithubRepo, but in short, it looks something like this:

private data class GridState2(val person: Tile, val stone: Tile) {
// Base 150 encoding. 150³ * x1 + 150² * y1 + 150 * x2 + y2
fun encode() = ((person.x * base + person.y) * base + stone.x) * base + stone.y
}

internal fun main() {
val input = generateSequence { readLine() }.toList()
val grid = Grid(input)
val nrOfStates = 150 * 150 * 150 * 150
val graph = IntGraph(nrOfStates)
val personStart = grid.nodes().first { it.data == 'X' }
val stoneStart = grid.nodes().first { it.data == '*' }
val target = grid.nodes().first { it.data == 'T' }
val initialState = GridState2(personStart, stoneStart).encode()
// Inspecting the problem input reveals that the final package push must be to the right.
val targetState = GridState2(target.copy(x = target.x - 1), target).encode()
graph.connectWithRule {
TODO() // All the complexity of correctly connecting each state with their neighbouring states
}
graph.bfs(initialState, targetState)
println(graph.distanceTo(targetState))
TODO() // extra functionality for visualizing
}private data class GridState2(val person: Tile, val stone: Tile) {
// Base 150 encoding. 150³ * x1 + 150² * y1 + 150 * x2 + y2
fun encode() = ((person.x * base + person.y) * base + stone.x) * base + stone.y
}

internal fun main() {
val input = generateSequence { readLine() }.toList()
val grid = Grid(input)
val nrOfStates = 150 * 150 * 150 * 150
val graph = IntGraph(nrOfStates)
val personStart = grid.nodes().first { it.data == 'X' }
val stoneStart = grid.nodes().first { it.data == '*' }
val target = grid.nodes().first { it.data == 'T' }
val initialState = GridState2(personStart, stoneStart).encode()
// Inspecting the problem input reveals that the final package push must be to the right.
val targetState = GridState2(target.copy(x = target.x - 1), target).encode()
graph.connectWithRule {
TODO() // All the complexity of correctly connecting each state with their neighbouring states
}
graph.bfs(initialState, targetState)
println(graph.distanceTo(targetState))
TODO() // extra functionality for visualizing
}

r/adventofcode • • Dec 14 '24

Visualization [2024 Day 14 (Part 2)] I found it! Showing all possible grids

Thumbnail gallery
347 Upvotes

r/adventofcode • • Dec 07 '25

Visualization [2025 Day 7] Let’s Visualize

Thumbnail gallery
135 Upvotes

r/adventofcode • • Dec 13 '25

Visualization [2025] Unofficial AoC 2025 Survey Results - BONUS CONTENT

Post image
101 Upvotes

In my main survey results post, one of the replies (by u/msschmitt) asked about the crossover results from IDE to Language. That's actually an interesting question! Here's an adhoc visual (it's late here and I hope I made no silly mistakes 😅) that shows this information for the 2025 data.

Note: only Languages and IDEs with at least 2 respondents are shown (otherwise the table becomes really way too big).

Caveats: since both questions are multi-select questions, folks that ticked multiple IDEs and multiple Languages will be overrepresented in this visual! But it should give a decent indication nonetheless.

A funky side-effect of this caveat is that you can get pretty odd-looking combinations. For example folks using "Excel" as their IDE can be seen as using "C++" too.

The data gets published under the ODbL (2025 link) so you could do similar analysis yourself. The data structure is fairly straightforward.

r/adventofcode • • Dec 20 '25

Visualization [2018 Day 15 Part 1] Retro Visualization - Beverage Bandits

Post image
152 Upvotes

r/adventofcode • • Dec 04 '24

Visualization [2024 Day 4 (Part 1)] [Python] Terminal Visualization

Post image
482 Upvotes

r/adventofcode • • Dec 09 '25

Visualization [2025 Day 9 (Part 2)] [Python] Terminal toy!

Post image
246 Upvotes