2 releases
0.1.1 | Dec 10, 2022 |
---|---|
0.1.0 | Dec 10, 2022 |
#36 in #aoc
10KB
107 lines
OCR for Advent of Code puzzles
Crate to convert Advent of Code from ASCII letters to characters. This is required for several of the puzzle days through the years, including: 2016/09, 2019/08, 2019/11, 2021/13, and 2022/10.
This has been made to help automate parsing of those puzzles for my own AoC solutions, but are shared for others interest.
Installation
cargo install advent-of-code-ocr
Usage
The main function to parse a screen from AoC is the parse_string_to_letters
.
use advent_of_code_ocr::parse_string_to_letters;
// Input is:
// ####.###....##.###..###..#..#..##..#..#.
// #....#..#....#.#..#.#..#.#.#..#..#.#..#.
// ###..#..#....#.###..#..#.##...#..#.####.
// #....###.....#.#..#.###..#.#..####.#..#.
// #....#....#..#.#..#.#.#..#.#..#..#.#..#.
// ####.#.....##..###..#..#.#..#.#..#.#..#.
let input = "####.###....##.###..###..#..#..##..#..#.\n#....#..#....#.#..#.#..#.#.#..#..#.#..#.\n###..#..#....#.###..#..#.##...#..#.####.\n#....###.....#.#..#.###..#.#..####.#..#.\n#....#....#..#.#..#.#.#..#.#..#..#.#..#.\n####.#.....##..###..#..#.#..#.#..#.#..#.";
assert_eq!(parse_string_to_letters(input), "EPJBRKAH");
Two other functions are exposed by this crate:
parse_letter
which tries to convert a single AoC character to aOption<char>
split_screen
which splits a full AoC screen to individual AoC characters.
Dependencies
~1–1.5MB
~31K SLoC