tsmall / advent-of-code

Solutions to the annual Advent of Code

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Advent of Code Solutions

This project contains my solutions to the Advent of Code exercises.

Contents

Project Organization

The project is organized like this:

<root>
  |
  + -- <year>
  |      |
  |      +-- <day>
  |            |
  |            +-- problem.txt
  |            |
  |            +-- input.txt
  |            |
  |            +-- <language>
  |
  +-- lib
       |
       +-- <language>

Program Design

Each program is designed to follow the Unix Philosophy. They are standalone, command-line programs that follow these rules:

  • Read input from stdin
  • Print output to stdout
  • Print error information to stderr
  • Print debugging info to stderr if -v or --verbose flag is present

Since the programs take input from stdin, you can use your shell's input redirection or a program like cat to feed them input:

$ cat input.txt | <program>

Git Hygiene

This repository uses a variation of the Conventional Commits format that looks like either this:

<year>/<day>(<scope>): <description>

Or this:

<area>(<scope>): <description>

The scope is either the language of the solution changed (for example stanza) or one of the following:

  • docs -- a documentation-only change
  • git -- a git admin change

About

Solutions to the annual Advent of Code


Languages

Language:Raku 21.0%Language:Haskell 13.8%Language:Ruby 12.8%Language:C 11.8%Language:Odin 11.3%Language:Clojure 8.1%Language:Pony 7.1%Language:Nim 2.3%Language:Makefile 1.7%Language:Zig 1.4%Language:F# 1.2%Language:Go 1.0%Language:Janet 0.9%Language:Dylan 0.8%Language:NewLisp 0.7%Language:Factor 0.6%Language:Objective-C 0.6%Language:Swift 0.6%Language:PHP 0.5%Language:Shell 0.5%Language:Scheme 0.4%Language:Common Lisp 0.4%Language:Nix 0.3%Language:Julia 0.2%Language:Scala 0.1%