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

36 lines
627 B
Go

package main
import (
"bufio"
"fmt"
"log"
"os"
)
func findMarker(line string) int {
if len(line) < 4 {
return -1
}
if line[0] != line[1] && line[0] != line[2] && line[0] != line[3] && line[1] != line[2] && line[1] != line[3] && line[2] != line[3] {
return 0
}
return 1 + findMarker(line[1:])
}
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+4], len(line[:marker+4]))
break
}
}
}