Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/itsluketwist/advent-of-code-2023
Learning Go with Advent of Code 2023.
https://github.com/itsluketwist/advent-of-code-2023
advent-of-code advent-of-code-2023 advent-of-code-go advent-of-code-golang go golang
Last synced: 25 days ago
JSON representation
Learning Go with Advent of Code 2023.
- Host: GitHub
- URL: https://github.com/itsluketwist/advent-of-code-2023
- Owner: itsluketwist
- Created: 2023-11-29T15:07:55.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-01-09T22:11:29.000Z (10 months ago)
- Last Synced: 2024-06-19T14:49:37.126Z (5 months ago)
- Topics: advent-of-code, advent-of-code-2023, advent-of-code-go, advent-of-code-golang, go, golang
- Language: Go
- Homepage:
- Size: 190 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# advent-of-code-2023
My solutions to Advent of Code 2023, attempting to learn Go (from a minimal base).
Using Go version `go1.21.4`.![check code workflow](https://github.com/itsluketwist/advent-of-code-2023/actions/workflows/check.yaml/badge.svg)
## *notable days*
- [Day 8](day08/main.go) - GCD / LCM solution
- [Day 10](day10/main.go) / [Day 18](day18/main.go) - uses Shoelace formula and Pick's theorem
- [Day 12](day12/main.go) - dynamic programming example
- [Day 12](day12/main.go) - uses Djikstra's algorithm and a bucket heap implementation
- [Day 20](day20/main.go) - FIFO queue
- [Day 23](day23/main.go) - graph building + traversal## *install*
Make sure you have go installed:
```shell
go version
```Otherwise... [go get it](https://go.dev/doc/install)!
## *usage*
To run the code for day `x`, run:
```shell
make run d=x
```You can also specify a day part, or whether to try the final input:
```shell
make run d=x p=1 t=1
```To test the code for day `x`, run:
```shell
make test day=x
```Format and lint the code with:
```shell
make clean
```You can also create the template folder and code for day `x` using:
```shell
make new d=x
```