9 func Part1(input string) int {
11 lines := strings.Split(input, "\r\n")
12 for _, line := range lines {
13 regex := regexp.MustCompile("[a-zA-Z]")
14 numbers := regex.ReplaceAllString(line, "")
15 number := string(numbers[0]) + string(numbers[len(numbers)-1])
16 i, _ := strconv.Atoi(number)
23 func Part2(input string) int {
24 values := map[string]string{
35 lines := strings.Split(input, "\r\n")
39 for _, line := range lines {
41 for _, c := range line {
43 if num, err := strconv.Atoi(string(c)); err == nil {
44 numbers = append(numbers, strconv.Itoa(num))
47 for key, value := range values {
48 if strings.Contains(s, key) {
49 numbers = append(numbers, value)
51 s = "" + string(buffer)
55 number := numbers[0] + numbers[len(numbers)-1]
56 i, _ := strconv.Atoi(number)