Big update: Adding all advent of codes to same repo
This commit is contained in:
49
AdventOfCode2015/day10/day10.go
Normal file
49
AdventOfCode2015/day10/day10.go
Normal file
@@ -0,0 +1,49 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
"time"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
||||
fmt.Println("Day 9")
|
||||
start := time.Now()
|
||||
|
||||
inputString := "1113122113"
|
||||
input := []int64{}
|
||||
|
||||
for _, c := range inputString {
|
||||
stringChar, _ := strconv.Atoi(string(c))
|
||||
input = append(input, int64(stringChar))
|
||||
}
|
||||
|
||||
//Change 40 to 50 for part 2
|
||||
for rounds := 0; rounds < 40; rounds++ {
|
||||
|
||||
lastNum := input[0]
|
||||
var counter int64 = 1
|
||||
|
||||
newNumbers := []int64{}
|
||||
|
||||
for i := 1; i < len(input); i++ {
|
||||
if input[i] != lastNum {
|
||||
newNumbers = append(newNumbers, counter)
|
||||
newNumbers = append(newNumbers, lastNum)
|
||||
counter = 1
|
||||
lastNum = input[i]
|
||||
} else {
|
||||
counter++
|
||||
}
|
||||
}
|
||||
newNumbers = append(newNumbers, counter)
|
||||
newNumbers = append(newNumbers, lastNum)
|
||||
input = newNumbers
|
||||
}
|
||||
|
||||
elapsed := time.Since(start)
|
||||
fmt.Printf("Part 1: %v %v \n", len(input), elapsed)
|
||||
fmt.Printf("Part 2: %v %v \n", len(input), elapsed)
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user