Permalink
Browse files

Bring some order to the chaos

  • Loading branch information...
robertbasic committed Dec 2, 2017
1 parent 616ec2c commit 6077566eddc475965ee3bb85ee34a566576e68a4
Showing with 78 additions and 18 deletions.
  1. +16 −18 day1.go
  2. +49 −0 day1_test.go
  3. +5 −0 day2.go
  4. +1 −0 inputs/day1.txt
  5. +7 −0 main.go
34 day1.go
@@ -1,33 +1,31 @@
package main

import (
"bufio"
"fmt"
"os"
"strconv"
)

func main() {
var input = "1111"
fmt.Println("Sum is: ", sum(input))
fmt.Println("Half is: ", half(input))
func Day1() {
var input string

input = "1212"
fmt.Println("Sum is: ", sum(input))
fmt.Println("Half is: ", half(input))
file, _ := os.Open("./inputs/day1.txt")
defer file.Close()

input = "2222"
fmt.Println("Sum is: ", sum(input))
fmt.Println("Half is: ", half(input))
scanner := bufio.NewScanner(file)

input = "91212129"
fmt.Println("Sum is: ", sum(input))
fmt.Println("Half is: ", half(input))
for scanner.Scan() {
input = scanner.Text()
}

input = "6592822488931338589815525425236818285229555616392928433262436847386544514648645288129834834862363847542262953164877694234514375164927616649264122487182321437459646851966649732474925353281699895326824852555747127547527163197544539468632369858413232684269835288817735678173986264554586412678364433327621627496939956645283712453265255261565511586373551439198276373843771249563722914847255524452675842558622845416218195374459386785618255129831539984559644185369543662821311686162137672168266152494656448824719791398797359326412235723234585539515385352426579831251943911197862994974133738196775618715739412713224837531544346114877971977411275354168752719858889347588136787894798476123335894514342411742111135337286449968879251481449757294167363867119927811513529711239534914119292833111624483472466781475951494348516125474142532923858941279569675445694654355314925386833175795464912974865287564866767924677333599828829875283753669783176288899797691713766199641716546284841387455733132519649365113182432238477673375234793394595435816924453585513973119548841577126141962776649294322189695375451743747581241922657947182232454611837512564776273929815169367899818698892234618847815155578736875295629917247977658723868641411493551796998791839776335793682643551875947346347344695869874564432566956882395424267187552799458352121248147371938943799995158617871393289534789214852747976587432857675156884837634687257363975437535621197887877326295229195663235129213398178282549432599455965759999159247295857366485345759516622427833518837458236123723353817444545271644684925297477149298484753858863551357266259935298184325926848958828192317538375317946457985874965434486829387647425222952585293626473351211161684297351932771462665621764392833122236577353669215833721772482863775629244619639234636853267934895783891823877845198326665728659328729472456175285229681244974389248235457688922179237895954959228638193933854787917647154837695422429184757725387589969781672596568421191236374563718951738499591454571728641951699981615249635314789251239677393251756396"
fmt.Println("Sum is: ", sum(input))
fmt.Println("Half is: ", half(input))
sum := Sum(input)
half := Half(input)
fmt.Println("The sum is: ", sum)
fmt.Println("The half is: ", half)
}

func sum(input string) int64 {
func Sum(input string) int64 {
var sum int64
var prev = input[len(input)-1:]
for _, c := range input {
@@ -41,7 +39,7 @@ func sum(input string) int64 {
return sum
}

func half(input string) int64 {
func Half(input string) int64 {
var halfsum int64
var step = len(input) / 2
var pos = 0
@@ -0,0 +1,49 @@
package main

import (
"testing"
)

var sumtests = []struct {
in string
out int
}{
{"1122", 3},
{"1111", 4},
{"1212", 0},
{"1234", 0},
{"2222", 8},
{"91212129", 9},
}

var halftests = []struct {
in string
out int
}{
{"1111", 4},
{"1212", 6},
{"1221", 0},
{"2222", 8},
{"123425", 4},
{"123123", 12},
}

func TestSum(t *testing.T) {
for _, tt := range sumtests {
s := Sum(tt.in)

if s != int64(tt.out) {
t.Errorf("Got %d for %s, expected %d", s, tt.in, tt.out)
}
}
}

func TestHalf(t *testing.T) {
for _, tt := range halftests {
h := Half(tt.in)

if h != int64(tt.out) {
t.Errorf("Got %d for %s, expected %d", h, tt.in, tt.out)
}
}
}
@@ -0,0 +1,5 @@
package main

func Day2() {

}
@@ -0,0 +1 @@
6592822488931338589815525425236818285229555616392928433262436847386544514648645288129834834862363847542262953164877694234514375164927616649264122487182321437459646851966649732474925353281699895326824852555747127547527163197544539468632369858413232684269835288817735678173986264554586412678364433327621627496939956645283712453265255261565511586373551439198276373843771249563722914847255524452675842558622845416218195374459386785618255129831539984559644185369543662821311686162137672168266152494656448824719791398797359326412235723234585539515385352426579831251943911197862994974133738196775618715739412713224837531544346114877971977411275354168752719858889347588136787894798476123335894514342411742111135337286449968879251481449757294167363867119927811513529711239534914119292833111624483472466781475951494348516125474142532923858941279569675445694654355314925386833175795464912974865287564866767924677333599828829875283753669783176288899797691713766199641716546284841387455733132519649365113182432238477673375234793394595435816924453585513973119548841577126141962776649294322189695375451743747581241922657947182232454611837512564776273929815169367899818698892234618847815155578736875295629917247977658723868641411493551796998791839776335793682643551875947346347344695869874564432566956882395424267187552799458352121248147371938943799995158617871393289534789214852747976587432857675156884837634687257363975437535621197887877326295229195663235129213398178282549432599455965759999159247295857366485345759516622427833518837458236123723353817444545271644684925297477149298484753858863551357266259935298184325926848958828192317538375317946457985874965434486829387647425222952585293626473351211161684297351932771462665621764392833122236577353669215833721772482863775629244619639234636853267934895783891823877845198326665728659328729472456175285229681244974389248235457688922179237895954959228638193933854787917647154837695422429184757725387589969781672596568421191236374563718951738499591454571728641951699981615249635314789251239677393251756396
@@ -0,0 +1,7 @@
package main

func main() {
Day1()

Day2()
}

0 comments on commit 6077566

Please sign in to comment.