look upon my bullshit, ye mighty, and dispair!
This commit is contained in:
parent
aca7a1211a
commit
3098f26734
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,69 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func main() {
|
||||
d, _ := ioutil.ReadFile("input")
|
||||
strings := strings.Split(string(d), "\n")
|
||||
bad := 0
|
||||
var ints []int
|
||||
done := false
|
||||
for _, s := range strings {
|
||||
i, err := strconv.Atoi(s)
|
||||
if err == nil {
|
||||
ints = append(ints, i)
|
||||
}
|
||||
}
|
||||
for i, _ := range ints {
|
||||
if !((i + 26) > len(ints)) {
|
||||
slice := ints[i : i+25]
|
||||
sums := make(map[int]struct{})
|
||||
for _, n := range slice {
|
||||
for _, n2 := range slice {
|
||||
if n != n2 {
|
||||
sums[n+n2] = struct{}{}
|
||||
}
|
||||
}
|
||||
}
|
||||
bad = ints[i+25]
|
||||
has := false
|
||||
for i, _ := range sums {
|
||||
if bad == i {
|
||||
has = true
|
||||
}
|
||||
}
|
||||
if has == false {
|
||||
fmt.Println("Part 1: ", bad)
|
||||
break
|
||||
done = true
|
||||
}
|
||||
if done == true {
|
||||
break
|
||||
}
|
||||
}
|
||||
if done == true {
|
||||
break
|
||||
}
|
||||
}
|
||||
// Part 2: let's just brute force this
|
||||
l := 2
|
||||
for {
|
||||
for x := 0; x < len(ints); x += 1 {
|
||||
sl := ints[x : x+l]
|
||||
total := 0
|
||||
for _, digit := range sl {
|
||||
total += digit
|
||||
}
|
||||
if total == bad {
|
||||
fmt.Printf("Part 2: %d\n", sl[0]+sl[len(sl)-1:][0])
|
||||
return
|
||||
}
|
||||
}
|
||||
l++
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue