- Notifications
You must be signed in to change notification settings - Fork0
Related to advent of code 2024
NotificationsYou must be signed in to change notification settings
albertominetti/adventofcode2024-java
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Solutions in Java for the Advent of Code in 2024
- Do not spend too much development time on a solution
- Write tests with the example input to ensure that everything works and keeps working (also to test the second part)
- Improve readability when writing an algorithm
- Lower down the complexity and improve the performances when not impacting too much the readability
- Try some new features of the languages or libraries when possible
- Use theDarkyen's Time Tracker to inject the time spend of each puzzle
This year I created an automation in Java to quickly setup the daily environment.
The code is inDaySetup.java, it usesDayXX.java andDayXXTest.java as templates for the main code and the tests.
When theDaySetup::main runs it:
- downloads the daily input to the
test/resourcesfolder - prepares the initial Java code for the main algorithm
- prepares the tests to run the algorithm with the proper input
This repo does follow the automation guidelines on the/r/adventofcodecommunity wiki. Specifically:
- Inputs files are downloaded once and locally cached
- It is always possible delete the local copy and ensure to download a new uncorrupted copy
- The
User-Agentheader contains the info about this repository
- Day 6:
- (part 1) missed that in a single step the guard could find his direction blocked and the direction at 90°, so he must turn by 180°
- (part 2) checking any possible positions for placing obstacles instead of using the initial path of the guard; it just requires more iterations and time
- Day 5: (part 1) considering that multiple items could be at the same topological order, the problem was simpler; it was a nice game to adapt a standard algorithm for topological order (Kahn's) to generate a data structure (
List<List<String>> partialOrder) that holds the information about missing relation between items - Day 4: (part 1) forgot to check in diagonal
- Day 3: (part 2) checking if
s.startsWith("do")ors.startsWith("don't")and the first always triggers - Day 2:
- (part 1) missed to check when two levels are equals
- (part 2) tried to fix the levels without the bruteforce approach
- Day 1: (part 1) forgot to sort
About
Related to advent of code 2024
Topics
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.