mirror of
https://github.com/RussellChamp/advent-of-code-2021.git
synced 2026-10-27 21:52:32 +00:00
68 lines
1.2 KiB
Plaintext
68 lines
1.2 KiB
Plaintext
/* Day #DAY#: #TITLE# */
|
|
package main
|
|
|
|
import (
|
|
"AoC2021/utils/args"
|
|
"AoC2021/utils/log"
|
|
"AoC2021/utils/timer"
|
|
"bufio"
|
|
"fmt"
|
|
"os"
|
|
)
|
|
|
|
func check(e error) {
|
|
if e != nil {
|
|
log.Println(log.DEBUG, "Oh snap!")
|
|
panic(e)
|
|
}
|
|
}
|
|
|
|
func main() {
|
|
argMap := args.Parse(os.Args)
|
|
log.SetLogLevelFromArgs(argMap)
|
|
selectedPart, partSpecified := argMap["part"]
|
|
|
|
log.Println(log.NORMAL, "--- Day #DAY#: #TITLE# ---")
|
|
timer.Start()
|
|
|
|
if !partSpecified || selectedPart == "" || selectedPart == "1" {
|
|
part1()
|
|
timer.Tick()
|
|
log.Println(log.NORMAL)
|
|
}
|
|
|
|
if !partSpecified || selectedPart == "" || selectedPart == "2" {
|
|
part2()
|
|
timer.Tick()
|
|
log.Println(log.NORMAL)
|
|
}
|
|
}
|
|
|
|
func part1() {
|
|
log.Println(log.NORMAL, "* Part 1 *")
|
|
log.Println(log.NORMAL, " Goal: ")
|
|
log.Println(log.NORMAL, " Answer: ")
|
|
|
|
input, err := os.Open("./input.txt")
|
|
check(err)
|
|
defer input.Close()
|
|
|
|
scanner := bufio.NewScanner(input)
|
|
lines := 0
|
|
answer := 42
|
|
|
|
for scanner.Scan() {
|
|
_ = scanner.Text()
|
|
lines++
|
|
}
|
|
|
|
log.Printf(log.NORMAL, "Read %d lines from input\n", lines)
|
|
log.Printf(log.NORMAL, "The solution is %d\n", answer)
|
|
}
|
|
|
|
func part2() {
|
|
log.Println(log.NORMAL, "* Part 2 *")
|
|
log.Println(log.NORMAL, " Goal: ")
|
|
log.Println(log.NORMAL, " Answer: ")
|
|
}
|