AoC-24

command module
v0.0.0-...-4934be5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 17, 2024 License: MIT Imports: 27 Imported by: 0

README

Advent of Code 2024

About

This repository stores my solutions to the daily challenges of Advent of Code Calendar 2024.

Features

This project is a Golang application that provides an interactive way to run my personal solutions for Advent of Code of 2024! Key features include:

  • A Text-based User Interface (TUI): Navigate challenges and input files seamlessly with a fuzzy-finder interface.
  • Challenge Selection: Easily pick a specific challenge from this year’s calendar to execute.
  • Input File Selection: Choose input files with a preview of their contents for better context and convenience.
  • Execution Metrics: Records execution times for both the main function and individual challenge logic.

Usage

To run the application:

  1. Build or execute the application using Go ≥1.23.3:

    go run .
    # or
    go build && ./AoC-24
    
  2. Follow the interactive prompts:

    • Select a Challenge: Use the fuzzy-finder to choose a challenge by its date and part identifiers.
    • Select an Input File: Pick an input file from the prompt, with a live preview of its contents.
  3. View the results:

    • The selected challenge will be executed with the chosen input, and execution times will be displayed.

File Structure

The repository is mostly organized according to the golang-standards/project-layout convention:

├── main.go                  # Entry point of the application
├── challenges.go            # Registers challenge by calling init()
└── internal/
    ├── inputs/              # Utilities for TUI selections
    ├── registry/            # Registration and retrieval of challenges
    ├── day01/
    │   ├── part1/           # Solution for Day 01, Part 1
    │   └── part2/           # Solution for Day 01, Part 2
    ├── ...
    └── challenge.go.example # Template for creating new challenges

Dependencies

This project relies on a TUI library for the fuzzy-find functionality.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL