https://github.com/brandonhowe/aoc-2023-ts
https://github.com/brandonhowe/aoc-2023-ts
Last synced: 12 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/brandonhowe/aoc-2023-ts
- Owner: BrandonHowe
- Created: 2023-12-01T02:14:14.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-12-14T02:28:30.000Z (over 2 years ago)
- Last Synced: 2025-02-08T20:47:44.604Z (about 1 year ago)
- Language: TypeScript
- Size: 146 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Advent of Code Template TS
[](https://forthebadge.com)
This is a template for Advent of Code, written in TypeScript.
## How to use
For each day, navigate to the respective folder in `src`.
* Place your input for each day in `input.txt`.
* Place your code in `index.ts`, between lines 10 and 12.
There are 4 different functions that parse your input:
* `readInputRaw` - reads the input raw, does not modify it
* `readInputSplit` - reads the input and splits it by line
* `readInputSplitNum` - reads the input and splits it by line, then converts every line to a number
* `readInputGrid` - reads the input and splits it by line, then splits each one by character to make a 2D grid
If you want to display a grid, there are 2 different functions. Each takes in a grid (a 2D array) and an optional replacer. Both function identically without the replacer, but the implementations of the replacer are different.
* `displayGridObjConfig` - takes a key/value pair and maps each value in the grid that matches the key to the value
* `displayGridFuncConfig` - takes a function that maps a grid value to a string, and executes it on each value (if the function returns nothing for a particular value, it is unmodified)
There are scripts to run each day with `ts-node`. Each script name is "day" followed by the number. For example, Day 18's puzzle executed via npm would look like `npm run day18`.