advent2022

Advent of Code 2022 Solutions
git clone git://bsandro.tech/advent2022
Log | Files | Refs | README | LICENSE

commit 385ca5828c4654c9a646ead3b2c967ad11445abf
parent b6ac3fb4d38a66ee0043f846c99d414b50c2c4cc
Author: bsandro <email@bsandro.tech>
Date:   Fri,  2 Dec 2022 05:57:30 +0000

Day 01 part 1

Diffstat:
Aday02/input.txt | 2500+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Aday02/main.go | 48++++++++++++++++++++++++++++++++++++++++++++++++
Aday02/sample.txt | 3+++
3 files changed, 2551 insertions(+), 0 deletions(-)

diff --git a/day02/input.txt b/day02/input.txt @@ -0,0 +1,2500 @@ +A Y +B Y +B Z +B Z +B X +B Z +C Y +A Z +C X +C X +B Z +B Z +B Z +A X +B Z +B Z +A Y +B Z +A Z +B X +B Z +A X +A X +B Z +A Y +A Z +B Z +A Y +A Z +B Z +A Z +B Z +B Z +C Y +B Z +B Z +A X +C X +B Z +A X +B Z +C X +A X +B Z +A X +A X +C X +B Z +B Z +B Z +C Y +C Y +A X +B Z +C X +B Z +A X +A Y +B Z +B Z +B Z +B Z +B Z +B X +B Z +B Z +B Z +B X +A X +A X +B Z +A Y +C Y +C Y +A Y +A X +B Z +A Y +A Z +A X +A X +A Y +C Y +B Z +B Z +C X +B Z +A Y +A X +B Z +B Z +A X +A X +A X +B Z +A Y +B Z +A Z +C Y +B Z +B Z +B Z +C Y +A Y +C Y +B Z +A X +B Z +A X +B Z +C Y +B Z +B Z +B Z +C X +B Z +A X +B Z +B Z +B Z +A X +A X +B X +C Y +B Z +B Z +B Z +A X +B Z +A X +B Z +A X +A Z +A X +B Z +A X +C Y +A X +B Z +A X +C Y +B Z +B Z +A X +A X +B Z +C Y +B Y +B Z +B Z +B Z +B X +B Z +B Z +B Z +A X +B Z +C Y +C Y +A Z +A X +B Z +B Z +B Y +B Z +B Z +C Y +B Z +B Y +B Z +C Y +B Z +B Z +C X +C X +C X +B Z +A Z +A X +C Y +A Z +B Z +B Z +B Z +B Z +A X +A X +B Z +B Z +A Z +A X +A X +B Z +C Y +A X +A Z +A Y +A Y +A X +B Z +A X +A Z +B Z +C X +B Z +C X +C Y +B Z +B Z +B Z +B Z +B Z +C Y +A X +C Y +A X +B Y +B Y +A X +A X +B Z +B Z +C X +A Z +C Y +A X +A X +A Y +A X +A X +B Z +A Z +B Z +B Z +B Z +A Z +A X +B Z +B Z +C Y +B Z +B Z +B Z +A X +A X +B Z +B Z +B Z +B Z +B Z +B Z +A X +C X +A X +A X +C Y +A X +B Z +C Y +B Z +B Z +B Z +A X +B Z +C Y +B Z +A X +A X +B Z +A X +A X +B Z +A Z +B X +A X +A X +B Z +C Y +A Y +A X +C X +B Z +A X +B Z +B Z +A X +B Z +A Z +C Y +B Z +B Z +A X +A X +B X +A X +B Z +B Z +C X +A X +C X +A X +B Z +B Z +A X +A Z +B Z +B X +A X +A Y +B Z +B Z +B Z +C X +C Y +B Z +B Z +C Z +B X +C Y +C Z +B Z +B Z +A X +B Z +C X +B Z +B Z +A Z +A X +C X +B Z +B Z +A X +C Y +A X +B X +C Z +B Z +B Z +A X +B Z +A Y +B Z +B Z +A X +B Z +C Y +C Y +A X +C Y +C X +C X +A X +B Z +C Y +B Z +C X +B Z +A Z +B Z +A Z +B X +B Z +A Z +A X +B Z +B Z +B Z +A X +A X +A X +B Z +A X +B Z +B X +A Y +B Z +A X +B Z +B Z +B Z +A X +B Z +C X +A Y +A X +A Z +C Y +C Y +A X +C Y +B Z +A X +B Z +C Y +B X +A Z +B Z +B Z +B X +B Z +B Z +B Z +A Y +A Y +C Y +A Z +A X +B Z +B Z +A X +A X +A X +B Z +A X +B Z +B Y +A X +A X +A X +B Z +B Z +B Z +C Y +A X +A X +A X +A X +A X +A X +C Y +A Z +C X +B Z +B Z +C Z +A X +A X +B Z +A X +B X +B Z +B Z +C X +B Z +A Z +A X +B Z +A Z +B Z +B Y +A X +C Y +A X +B Z +B Z +B Z +A Z +C Y +C Z +A X +B Z +B Z +B X +A X +B Z +A X +B Z +B Z +C Z +B Z +A X +C Y +C X +A Z +C X +A X +A X +A X +B Z +B Y +C Y +B Z +B Z +C Y +B Z +A X +B Z +A Z +A X +B Z +A Y +A X +A X +B X +B Z +B Z +B Z +B Z +C Z +B Y +A X +A X +B Z +B Z +B Z +C Z +B Z +B Z +A Y +A Z +B Z +A X +C Y +B Z +A Z +C Z +B Z +C X +B Z +B Z +A X +B Z +A X +B Z +C Y +A X +B Z +A Z +B Z +C Y +A X +C X +A X +A X +B Z +B Z +B X +B Z +C X +C Y +A Z +B Z +C Y +B Z +C Y +B Y +A Y +B Z +A X +B Z +A Z +B Z +A X +C X +B Z +B X +C Y +A Z +A X +B Z +B Z +B Z +A Z +C Y +C Y +B Z +A Y +A X +A X +A Y +C Y +A Y +B Z +B Z +B Z +A Z +B Z +A Z +B Z +A X +A Z +B Z +C Y +B Z +A X +A X +A X +A Z +A Z +B Z +C Y +B Z +A X +B Z +B Z +A Z +B Z +B Z +A X +B Z +B Z +B X +A X +B Z +B Z +A Z +A X +B X +A X +B Z +A X +B Z +A X +B Z +C Y +B Z +C Z +C X +B Z +B Z +B Z +C Y +C X +B Z +B Z +B Z +B Z +A Y +A Y +C Y +A X +C X +B X +A X +C X +A Y +B X +A X +A Z +B Z +B X +B Y +B Z +B Z +B X +B Z +C Y +B Z +A X +A X +A X +B Z +A X +B Z +A X +B Z +B Z +B Z +B Z +A X +C Y +A X +B Z +B Z +B Z +A X +B Z +B Z +C Z +A X +A Z +B Z +C Y +B Z +B Z +B Z +B Z +A Z +B Z +B Z +B Z +C Y +A X +B X +C Y +A X +C Z +B Z +C Y +C Y +B Z +A X +B Z +C Z +A X +A Z +B Z +A Z +B Z +B X +B Z +A Z +B Z +C Y +C Z +B Z +A X +B Z +A X +A X +B Z +B Z +B Z +B Z +A X +A Z +A X +B X +B Z +A Y +A Y +B Z +A X +B Z +B Z +A Y +C X +B Z +B Z +B Z +C X +B Z +C X +A X +B Z +C Y +A X +A X +A X +C Z +A X +A X +A Y +B Z +B Z +B Z +B Z +B Z +C X +C Y +B Z +B Z +C X +B Z +B Z +B Z +C Y +C Y +A Z +A X +B Z +A X +B X +B Z +B Z +C Y +B Z +A X +B X +A Z +A Z +B Z +A X +C X +A X +B Z +B Z +B Z +A X +A Z +C X +B Z +A X +A Z +A Z +A Z +A Z +C Y +B X +B X +C Z +B X +C Z +A X +A Y +B Z +B X +A Y +A Z +B X +A X +A X +C Z +A Z +B Z +C X +B Z +B Z +C X +B Z +C X +A X +A Y +A X +B Z +A X +B Z +C Y +B Z +B Z +B Z +B Z +B Z +B Z +B Z +B Z +B Z +A X +B Z +A X +B Z +A Y +B Z +A X +A Z +B Z +C Y +A Z +A X +A Z +C X +B Z +B Z +B Z +A X +C X +C Y +B Z +A Z +A Z +C X +B Z +C Y +A Z +A Z +A Y +B Z +A Z +B Z +B Y +C Y +B Z +B Z +A Z +A X +B Z +C Y +B Z +B Z +B Z +B Z +B Z +A X +C Y +B X +C X +B Z +A Z +B Z +A X +B Z +B Z +A X +C Y +A X +A X +A X +C X +A X +A X +B Z +A Y +A X +B Z +C X +A X +C Z +A X +B Z +C X +A X +A X +A X +B Z +C X +B Z +B Z +A X +A X +A X +A X +B Z +A X +A X +B Z +B X +A Y +A X +C X +A X +C X +A X +B Z +B Z +B Z +B Z +B Z +A X +A X +B X +C Y +A Y +C X +C X +C X +B Z +B Z +B X +B Z +B Z +C X +B Z +B Z +A X +B Z +B Z +B X +A X +A X +C Y +C X +A X +C Y +A Y +C X +B Z +A X +A Z +B Z +B Z +B X +B Z +B Z +B Z +C Y +B X +A X +B Z +A X +B Z +A X +A Z +A Y +C Y +B Z +C Y +A Z +A Z +B Z +A X +A X +C Y +C Y +A X +B Z +A X +C X +C Z +A X +A Y +A X +A X +A X +B Z +B Z +B Z +C Y +B Z +B Z +C Z +A X +B Z +B Z +A X +A X +B Z +B Z +B Z +A Y +B X +A Z +A Z +B Z +A X +B Z +B Y +A Y +A X +C Y +A Z +B Z +C X +C X +A X +B Z +A X +A X +A Z +B Z +A Z +A Z +B Z +B Z +A Y +B Z +C Y +C X +B Z +A X +A X +B Z +B Z +A X +A X +C Y +B Z +A Z +A X +B Z +C Y +B Z +A X +A X +B X +A X +B Z +C Y +B Z +A Y +B Z +B Z +B Z +B X +A X +B Z +C Y +B Z +B Z +B Z +A Z +C Y +C Y +C Y +A X +A Z +A X +B Z +A X +B Z +A X +C Y +B Z +B Z +A X +B Z +A X +A X +B Z +B Z +A X +A X +C X +B Z +A Y +A X +A X +B Z +C Y +C X +C X +B Y +A Z +B Z +A Z +A X +B Z +C Y +B Z +A X +A Z +B Z +A X +A Y +A X +B Z +B Z +B Y +B Z +A X +B Z +B Z +B Z +C Y +A X +B Z +B Z +A X +A X +A X +B Z +A Y +B Z +A Z +A X +B Z +C X +B Z +A X +A Z +A Z +B Z +A X +B Z +B Z +B Z +B Z +C Y +A Y +A Z +A X +A Y +B Z +B Z +B Z +C Y +C Y +B Z +A Y +A Z +A X +B Z +A Z +B Z +A X +C Y +B Z +B Z +B Z +B Z +B Z +C X +A Z +B Z +A Z +B Z +A X +B Z +A X +A Y +B Z +B X +B Z +A Y +B Z +A Z +B Z +B Z +A X +A Z +A Z +B X +B Z +A X +B X +A X +A Z +A X +C X +B Z +C X +A X +C X +A X +A X +A Z +A Z +B Z +A Z +B X +B Z +B Z +A X +B Z +B Z +A X +B Z +B Z +B Z +B Z +B Z +C X +A X +C Y +B Z +B Z +A Y +B X +B Z +A Z +B Z +B Z +C Y +B Z +A X +A Z +B Z +A Z +B Z +B Z +A X +B Z +A Z +A Z +A Z +C X +A Z +B Z +C Y +B Z +A Z +B Z +A X +A X +A X +A Z +A X +B Z +B Z +B Z +B Z +A Y +A X +C Y +C Z +B Z +A Z +A X +B Z +B X +B Z +A X +B Z +B Z +C Y +A X +B Z +B Z +C X +C X +B Z +B Y +A Y +A X +C Y +A X +A X +B Z +B Z +B Z +B Z +A Z +C X +A X +A X +A X +A X +A Y +A Z +A Y +A Y +B Z +A X +A Y +A X +A Z +A Z +A X +B Z +B Z +C Y +A X +B Z +C Y +B Z +B Z +A X +B Z +B X +A X +B Z +A Y +A Y +B X +B Z +B Z +C X +A X +B Z +A X +B X +B Z +A X +B Z +A X +B X +A X +A X +C X +A X +A X +B Z +A X +A X +A Y +B Z +B Z +C Y +B Z +A X +B Z +B Z +A Z +A X +B Z +A Y +B Z +C Y +A Z +A X +A Y +C Y +A X +A Y +C X +B Z +A X +A Y +A X +B Z +A Z +B Z +B Z +C Y +A X +C Y +A Z +B Z +B Z +A X +A X +B X +B Z +C Y +B Z +B Y +A X +B Z +A X +C X +B Z +A Y +A X +B Z +C Y +A Z +B Z +A X +A X +A Y +A Z +C X +B Z +B Z +B Z +A Z +B Z +C Y +B Z +B Z +B Z +B Z +B X +B Z +A X +B Z +B Z +A X +C X +C Y +B Z +B Z +A X +B Z +A X +A X +A Y +B Z +A Z +B Z +C Y +B Z +A X +A Y +C Y +B Y +A Y +A X +C Y +A X +A Z +A X +B Z +A Z +B Z +A X +B Z +C Y +A X +B Z +B X +B Z +A X +A X +A X +B Z +A Z +A Z +B Z +A X +B Z +B Z +A X +A X +B Z +B Z +A X +B Z +B X +B Z +C Y +A Z +B X +A X +B Z +B Z +A X +B Z +A X +B Z +B X +B X +A X +B Z +B Z +B Z +B Z +A Y +B Z +B Z +A X +C X +B Z +B Z +B Z +B Z +B Z +A X +C X +A Y +A X +A X +B Z +C Y +C X +B Z +A X +A Y +B Z +A X +B Z +C Y +B Z +A X +B Z +A Y +B X +A X +B Z +A X +B Z +A X +B Z +A X +C X +C X +A X +B Z +A Y +B Z +B Z +A X +A X +B Z +B Z +B Z +A X +A X +A X +C Y +A Y +B Z +B Z +B Z +B Z +A X +A X +B Z +B Z +C Y +A X +A X +B Z +A X +A Y +A X +B Z +B Z +B Z +A X +B Z +A X +B Z +A X +A X +B Z +A Y +A Z +B Y +A X +A Z +B Z +B Z +A Z +A X +A X +B Z +A X +B Z +A X +C X +A Z +A X +B Z +B Z +A X +A Z +C X +B Z +B Z +A X +B Z +B Z +A X +B Z +B Z +B Z +A Y +A Z +B Z +B Z +A X +B Z +B Z +B X +C X +B Z +B Z +B Z +A X +A X +A Z +B Z +C X +B Y +A Y +B Z +B Z +A X +A X +A Z +B Z +B Z +B Z +A X +A Z +A X +B Z +B Z +A Z +B Z +A Y +A Z +C Y +B Z +B Z +B Z +B Z +A Z +A Z +A Y +B Z +A X +A X +B Z +A Z +B Z +B Z +B X +C Y +B Z +C Y +B Z +A X +C Z +B Z +A X +A X +B Z +A Z +A X +B Z +A Z +A X +C Z +C X +B Z +B Z +B Z +B Z +B Z +C Y +A X +B Z +C Y +A X +B Z +B Z +A Z +A Z +B Z +C Y +A X +C X +B Z +B Z +B Z +B Z +A X +B Z +A X +B Z +A Y +B Z +B Z +B Z +B Z +B Z +C Y +B Z +B Z +A X +A X +A X +A Z +B Z +A Y +C Z +A Z +B Z +B Z +B Z +A X +B X +C Y +C X +C Y +B Z +B Z +B Z +B Z +A Y +B Z +A X +C X +A X +B X +C X +B Z +B Z +A X +A X +C Y +C Y +A X +B Z +C Y +A Y +A Z +A Y +B Z +B Z +B Z +A Y +B Z +A Z +A X +B Z +C X +A Z +B Z +A X +C X +A X +C Y +B X +B Z +B Z +A X +C Y +A X +B Z +C X +A Z +A Y +B Z +A Z +B Z +B Z +B Z +B Z +A X +A X +B Z +A Z +C Y +A Y +A X +A X +B Z +C Z +B Z +A Z +B X +C X +B Z +B Z +A X +A Z +A X +A Z +A X +B Z +B Z +C Y +B Z +B Z +B Z +B Z +A Z +B Z +B X +B Z +B Z +B Z +B Z +C X +C X +A X +B Z +B Z +B Z +B Z +B Z +B Z +A X +C X +B Z +B Z +A Y +B Z +A X +C Y +B Z +C Y +B Z +A Y +B Z +B Z +B Z +A X +A X +A X +B Z +C Y +B Z +A Z +A Y +A Z +A Y +B Z +A X +B X +B Z +A X +B Z +A Y +A X +B Z +A X +A X +A Y +A Y +A X +A X +A X +B Z +B Z +B Z +A X +B Z +A X +B Z +A X +B Y +B Y +A X +B Z +C X +A Z +C Y +A X +B Z +B Z +B Z +C Y +B X +C Y +B Z +B Z +B Z +A Z +B Z +B Z +B Z +C Y +B Z +B Z +A X +A Z +A Y +C Y +B Z +B Z +A X +B Z +B Z +A X +A X +B Z +B Y +B Z +B Z +A Z +B Z +B Z +A X +B Z +A X +C X +C X +A X +C Y +B Z +B Z +B Z +A X +C Y +B Z +B Z +B Z +B Z +B Z +B Z +B Z +B Z +B Z +B Z +C Y +C X +B Z +B Z +B Z +C Y +A Y +C Y +A X +B X +B Z +A X +C X +B Z +A Z +C X +C X +B Z +B Z +A Z +B Z +B X +B Z +B Z +B Z +A X +C X +B Z +A X +C Y +B Z +B Z +C X +B X +A X +B Z +C X +C X +B Z +B X +A X +B Z +A Y +B Z +A Z +A X +B Z +A X +A X +B Z +B Z +A X +B Z +A X +A X +C Y +B Z +A X +C Y +B Z +B Z +A X +A Y +C Y +B Z +A X +B Z +A X +A X +B Z +B Z +C Y +B Z +A X +A X +A X +A X +A Z +B Z +B Z +C X +C X +B Z +B Z +C Y +B Z +A Y +B Z +A X +C X +A Z +B Z +B Z +B Z +C Y +A X +B Z +B Z +C Y +B Z +C Y +B Z +A Z +B Z +A X +B Z +C Y +C Y +A X +A X +A Z +B Z +C Y +C Y +A X +B Z +B Z +A X +B Z +B Z +B Z +B Z +B X +B Y +A X +B Z +B Z +B Z +C Y +A X +A Y +B Z +A Z +A Z +B X +A X +C Y +B Z +B Z +A Z +B Z +C X +C X +A Z +B Z +A X +B Z +A X +B Z +B Z +B X +A X +A Z +B X +A X +B Z +A X +A X +A Z +A Y +B Z +A Y +C Y +C X +B Z +B Z +A X +A X +B Z +B Z +B Z +A Z +C X +A X +B Z +B Z +A X +B Z +B Z +B Z +A X +A Z +B Z +A X +B Z +A X +B Z +B Z +A X +C Y +A X +C X +A Z +B X +A Y +A Y +B Z +B Z +B Z +A X +A X +A X +A Y +B Z +B Z +B Z +B Z +B Z +B Z +B Z +B Z +C Y +B Z +B Z +B Z +C Y +A X +A Z +B Z +C Y +B Z +A Z +A X +B Z +A Y +B Z +B Z +A Z +B Z +A X +A Z +A Z +B Z +B Z +B Z +B Z +A X +A Z +B Z +B Z +B Z +B Z +A Z +B Z +C X +B Z +B Y +A X +B Z +B Z +A X +B Z +A X +A X +A X +A X +B X +B Z +C X +B Z +B Z +B Z +A X +B Z +C X +B Z +A Z +A X +A X +B Z +B Z +B Z +B Z +C X +A X +B Z +B Z +C Y +B Z +C Y +B Z +B Z +A X +B Z +A X +A Y +B Z +A Z +B Z +B Z +A Y +B Z +B Z +C Y +A X +A X +A X +A X +B Z +B Z +A Y +B Z +A Z +A X +A X +B Z +A Y +B Z +B Z +B X +A Y +A X +A X +C Y +C X +A X +B Z +B Z +B Z +A Y +B Z +C X +C X +C X +B Z +B Z +B Z +B Z +B Z +A X +B Z +A Y +B Z +A Y +C X +B X +B Z +B Z +A X +B X +B Z +B Z +B Z +B Z +B Z +A X +B Z +C X +B X +A X +A X +A X +A X +A X +B Z +C X +C Y +A X +B Z +C X +A Z +B Z +B Z +C Y +A X +A Z +B Z +B Z +B Z +B Z +B Z +B Z +A X +A X +B X +A X +B Z +A X +B Z +B Z +A Z +B Z +B Z +B Z +B Z +C X +B Z +A Z +B Z +B Z +A Z +A X +C X +B X +C X +A X +B Z +A Z +B X +B X +A Z +B Z +B Z +B X +B Z +B Z +C X +A Y +A X +A Z +B Z +A X +B Z +B Z +B Z +B Z +A X +A X +C Y +B Z +B Z +B Z +A Z +C X +C Y +B Y +B Z +B Z +A X +C Y +A Z +B Z +B Z +B Z +B Z +B Z +C X +B Z +A X +C X +A X +A Z +C Y +C X +B Z +B Z +A Y +A Z +A Z +A X +A Z +A Z +C Y +B Z +B Z +B Z +B Z +A Z +A X +A Y +C X +A X +B Z +B Z +B Z +A X +B Z +B Z +A Z +B Z +A X +B Z +A X +A Y +B Z +A X +A Z +B Z +A X +B Z +C X +B Z +B Z +C X +A Y +B Z +A Z +C X +C Z +C X +B Z +B Z +B Z +A X +B Z +C X +A X +A Y +A X +A Z +C Y +A X +B Z +B Z +C Z +A X +B Z +B Z +A X +A Z +B Z +A Y +B Z +C X +A X +A X +B Z +B Z +B Z +B X +C X +B Z +B Z +A X +A X +A Z +B Z +B Z +A Z +C Y +C Z +B Z +A X +A X +A X +C Y +A X +A X +A X +A Z +B Z +A Y +B Z +C X +B Z +A X +C X +B Z +A Y +A X +B Z +B Z +B Z +A X +A Y +B Z +A X +B Z +B Z +B Z +B Z +A X +A X +B Z +C X +B X +A Z +B Z +B Z +B Z +B Z +B Z diff --git a/day02/main.go b/day02/main.go @@ -0,0 +1,48 @@ +package main + +import ( + "bufio" + "fmt" + "log" + "os" +) + +func main() { + if len(os.Args) > 1 { + day01(os.Args[1]) + } else if len(os.Args) == 1 { + fmt.Printf("usage: %s inputfile.txt\n", os.Args[0]) + } else { + fmt.Println("No input data") + } +} + +func day01(input_file string) { + fmt.Printf("day 02 input filename: %s\n", input_file) + input, err := os.Open(input_file) + if err != nil { + log.Fatal(err) + } + defer input.Close() + scanner := bufio.NewScanner(input) + gameTable := map[string]int{ + "A X": 1+3, + "A Y": 2+6, + "A Z": 3+0, + "B X": 1+0, + "B Y": 2+3, + "B Z": 3+6, + "C X": 1+6, + "C Y": 2+0, + "C Z": 3+3, + } + + score := 0 + for scanner.Scan() { + score += gameTable[scanner.Text()] + } + if err = scanner.Err(); err != nil { + log.Fatal(err) + } + fmt.Printf("score: %d\n", score); +} diff --git a/day02/sample.txt b/day02/sample.txt @@ -0,0 +1,3 @@ +A Y +B X +C Z