Output tweaks, fix day numbering

This commit is contained in:
2022-06-06 15:30:58 -05:00
parent 131fb0f03a
commit 85da090c2b
2 changed files with 20 additions and 10 deletions

View File

@ -15,6 +15,10 @@ func (d *Day01) Parse() {
d.nums = utilities.GetIntLines("01p") d.nums = utilities.GetIntLines("01p")
} }
func (d Day01) Num() int {
return 1
}
func (d *Day01) calcFuel(mass int64) int64 { func (d *Day01) calcFuel(mass int64) int64 {
return int64(math.Floor(float64(mass)/3)) - 2 return int64(math.Floor(float64(mass)/3)) - 2
} }

26
main.go
View File

@ -14,10 +14,16 @@ import (
type day interface { type day interface {
Parse() Parse()
Num() int
Part1() string Part1() string
Part2() string Part2() string
} }
const (
part1Header = utilities.ColorGreen + "Part1:" + utilities.TextReset
part2Header = utilities.ColorGreen + "Part2:" + utilities.TextReset
)
var dayMap = map[int]day{ var dayMap = map[int]day{
1: &days.Day01{}, 1: &days.Day01{},
} }
@ -49,27 +55,27 @@ func main() {
} }
func solve(d day) { func solve(d day) {
fmt.Println(utilities.ColorCyan + "Day 01" + utilities.TextReset) fmt.Println(fmt.Sprintf("%sDay %d%s", utilities.ColorCyan, d.Num(), utilities.TextReset))
parseStart := time.Now() parseStart := time.Now()
d.Parse() d.Parse()
parseTime := time.Since(parseStart) parseTime := time.Since(parseStart)
part1Start := time.Now() part1Start := time.Now()
part1 := d.Part1() part1Text := d.Part1()
part1Time := time.Since(part1Start) part1Time := time.Since(part1Start)
part2Start := time.Now() part2Start := time.Now()
part2 := d.Part2() part2Text := d.Part2()
part2Time := time.Since(part2Start) part2Time := time.Since(part2Start)
fmt.Println(utilities.ColorGreen + "Part1:" + utilities.TextReset) fmt.Println(part1Header)
fmt.Println(part1) fmt.Println(part1Text)
fmt.Println(utilities.ColorGreen + "Part2:" + utilities.TextReset) fmt.Println(part2Header)
fmt.Println(part2) fmt.Println(part2Text)
fmt.Print(utilities.ColorBrightBlack) fmt.Print(utilities.ColorBrightBlack)
fmt.Printf("Parsed in %s\n", parseTime) fmt.Println("Parsed in", parseTime)
fmt.Printf("Part01 in %s\n", part1Time) fmt.Println("Part01 in", part1Time)
fmt.Printf("Part02 in %s\n", part2Time) fmt.Println("Part02 in", part2Time)
fmt.Println(utilities.TextReset) fmt.Println(utilities.TextReset)
} }