Solutions for Advent of Code
Find a file
Anders Englöf Ytterström ded5c4f28c Solve 2024:19 p1-2 "Linen Layout"
Initial tries to use a while loop instead of
recursion gave a classic AoC situation: test cases
worked, but not actual AoC puzzle input.

Turns out I only considererd removing the longest
pattern form the design, rather than consider all
possible removals.

Some Python goodies in here:

- `"abcdefgh".startswith("abc")` instead of regexp.
- removeprefix() is nice, and in some cases more
readable. `"abcdefgh".removeprefix("abc")` vs
`"abcdefgh[3:]"
- To speed things up for pt 2, functools is used
which requires a dict to be hashed as a tuple.

If one wish to solve this without recursion, a
BFS solution is most likely the way to go.

def ispossible(design, patterns):
    Q = [design]
    possible = 0
    while Q:
        remaining = Q.pop(0)
        if not remaining:
            possible += 1
            continue
        for pattern in patterns[remaining[0]]:
            if remaining.startswith(pattern):
                Q.append(remaining.removeprefix(pattern))
    return possible
2025-01-05 00:06:18 +01:00
2015-elixir Solve day 5-6 2015 2022-11-25 12:03:57 +01:00
2015-elixir-2 Solve 2015:7 "Some Assembly Required" 2023-11-20 20:54:43 +01:00
2015-python Add the initial 2015 days in Python 2023-12-19 23:55:47 +01:00
2016-python Add solutions from AOC 2016-2020 2021-11-01 16:45:03 +01:00
2016-python2 Solve 2016:22 p2 "Grid Computing" 2024-12-12 13:53:43 +01:00
2017-python Add solutions from AOC 2016-2020 2021-11-01 16:45:03 +01:00
2018-elixir Add solutions from AOC 2016-2020 2021-11-01 16:45:03 +01:00
2018-python Add solutions from AOC 2016-2020 2021-11-01 16:45:03 +01:00
2019-elixir Add solutions from AOC 2016-2020 2021-11-01 16:45:03 +01:00
2020-elixir Add solutions from AOC 2016-2020 2021-11-01 16:45:03 +01:00
2020-python Add solutions from AOC 2016-2020 2021-11-01 16:45:03 +01:00
2021-elixir 🔧 Setup Advent of Code 2021 2021-10-22 17:17:55 +02:00
2021-python Solve 2021:14 "Extended Polymerization" part 2 2021-12-14 08:56:57 +01:00
2022-elixir Add WIP for 2022:11 "Monkey in the Middle" 2023-11-20 20:53:58 +01:00
2023-python 2023 solutions (#6) 2023-12-18 13:08:28 +01:00
2024-python Solve 2024:19 p1-2 "Linen Layout" 2025-01-05 00:06:18 +01:00
leaderboard Run code in container 2024-12-03 01:41:40 +01:00
.gitignore Ignore .ropeproject 2023-12-15 17:22:09 +01:00
fetch-calendar Add scripts to fetch single or calendar inputs 2023-12-09 21:25:35 +01:00
fetch-input Add scripts to fetch single or calendar inputs 2023-12-09 21:25:35 +01:00
README.md Update README.md 2024-11-29 11:58:57 +01:00

Advent of Code 2015

Here all solved puzzles for Advent of Code are kept for reference. Most solutions are written in Python, but there are also solutions written in Elixir.

  • Initial runs from 20162020 are squashed in version control, so the original thoughts/rants about the solution are forgotten for future generations.
  • 2021 onwards, each solution will have a separate commit. This also includes revisiting old events.

Where are the puzzle input files?

For many years, this repository had all puzzle inputs under version control. They are not anymore, although the scripts asumed they are downloaded and stored locally in a subdirectory, which is ignored by version control.

The reasons:

  • Neither you or me do have permission to reproduce or redistribute them, they are not released under public domain or MIT/BSD/GPL or any other license.
  • The author behind advent of code have kindly asked us who attend Advent of Code to not release them, since publiced puzzle inputs cen be used to copy the site and steal the AoC creator's work.

Sources: