Files
2022-12-06 09:44:39 +01:00

40 lines
592 B
Go

package main
import (
"bufio"
"fmt"
"log"
"os"
)
func findMarker(line string) int {
if len(line) < 14 {
return -1
}
for i := 0; i < 14; i++ {
for j := i + 1; j < 14; j++ {
if line[i] == line[j] {
return 1 + findMarker(line[1:])
}
}
}
return 0
}
func main() {
file, err := os.Open("./input.txt")
if err != nil {
log.Fatal(err)
}
defer file.Close()
scanner := bufio.NewScanner(file)
for scanner.Scan() {
line := scanner.Text()
marker := findMarker(line)
if marker != -1 {
fmt.Println(line[marker:marker+14], len(line[:marker+14]))
break
}
}
}