aoc2015/day04/day04.go
Stefan Harmuth 21cd974566 day04
2020-12-22 09:50:45 +01:00

39 lines
715 B
Go

package day04
import (
"aoc2015/aoclib"
"crypto/md5"
"encoding/hex"
"strconv"
"strings"
)
func findMd5SumStartsWith(secretStart string, start string) int {
var secret string
var md5sum [16]byte
counter := 0
for true {
secret = secretStart + strconv.Itoa(counter)
md5sum = md5.Sum([]byte(secret))
if strings.HasPrefix(hex.EncodeToString(md5sum[:]), start) {
return counter
}
counter++
}
return -1
}
func Part1(puzzle aoclib.Puzzle) interface{} {
secretStart := puzzle.GetInputArray()[0]
return findMd5SumStartsWith(secretStart, "00000")
}
func Part2(puzzle aoclib.Puzzle) interface{} {
secretStart := puzzle.GetInputArray()[0]
return findMd5SumStartsWith(secretStart, "000000")
}