github.com/frodejac/aoc-2022@v0.0.0-20221213081734-037c741b1c89/internal/aoc/solver.go (about) 1 package aoc 2 3 import ( 4 "github.com/frodejac/aoc-2022/internal/aoc/day00" 5 "github.com/frodejac/aoc-2022/internal/aoc/day01" 6 "github.com/frodejac/aoc-2022/internal/aoc/day02" 7 "github.com/frodejac/aoc-2022/internal/aoc/day03" 8 "github.com/frodejac/aoc-2022/internal/aoc/day04" 9 "github.com/frodejac/aoc-2022/internal/aoc/day05" 10 "github.com/frodejac/aoc-2022/internal/aoc/day06" 11 "github.com/frodejac/aoc-2022/internal/aoc/day07" 12 "github.com/frodejac/aoc-2022/internal/aoc/day08" 13 "github.com/frodejac/aoc-2022/internal/aoc/day09" 14 "github.com/frodejac/aoc-2022/internal/aoc/day10" 15 "github.com/frodejac/aoc-2022/internal/aoc/day11" 16 "github.com/frodejac/aoc-2022/internal/aoc/day12" 17 "github.com/frodejac/aoc-2022/internal/aoc/day13" 18 "github.com/frodejac/aoc-2022/internal/aoc/day14" 19 "github.com/frodejac/aoc-2022/internal/aoc/day15" 20 "github.com/frodejac/aoc-2022/internal/aoc/day16" 21 "github.com/frodejac/aoc-2022/internal/aoc/day17" 22 "github.com/frodejac/aoc-2022/internal/aoc/day18" 23 "github.com/frodejac/aoc-2022/internal/aoc/day19" 24 "github.com/frodejac/aoc-2022/internal/aoc/day20" 25 "github.com/frodejac/aoc-2022/internal/aoc/day21" 26 "github.com/frodejac/aoc-2022/internal/aoc/day22" 27 "github.com/frodejac/aoc-2022/internal/aoc/day23" 28 "github.com/frodejac/aoc-2022/internal/aoc/day24" 29 ) 30 31 type AocSolver interface { 32 SolvePart1() string 33 SolvePart2() string 34 } 35 36 type Day struct { 37 input []byte 38 } 39 40 func GetAocSolver(day int, input []byte) AocSolver { 41 switch day { 42 case 0: 43 return day00.Solver(input) 44 case 1: 45 return day01.Solver(input) 46 case 2: 47 return day02.Solver(input) 48 case 3: 49 return day03.Solver(input) 50 case 4: 51 return day04.Solver(input) 52 case 5: 53 return day05.Solver(input) 54 case 6: 55 return day06.Solver(input) 56 case 7: 57 return day07.Solver(input) 58 case 8: 59 return day08.Solver(input) 60 case 9: 61 return day09.Solver(input) 62 case 10: 63 return day10.Solver(input) 64 case 11: 65 return day11.Solver(input) 66 case 12: 67 return day12.Solver(input) 68 case 13: 69 return day13.Solver(input) 70 case 14: 71 return day14.Solver(input) 72 case 15: 73 return day15.Solver(input) 74 case 16: 75 return day16.Solver(input) 76 case 17: 77 return day17.Solver(input) 78 case 18: 79 return day18.Solver(input) 80 case 19: 81 return day19.Solver(input) 82 case 20: 83 return day20.Solver(input) 84 case 21: 85 return day21.Solver(input) 86 case 22: 87 return day22.Solver(input) 88 case 23: 89 return day23.Solver(input) 90 case 24: 91 return day24.Solver(input) 92 default: 93 panic("Day not implemented") 94 } 95 }