Day 1 Complete
This commit is contained in:
parent
21a2be1d52
commit
fb67c6195c
44
day1/1a/day1a.go
Normal file
44
day1/1a/day1a.go
Normal file
@ -0,0 +1,44 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"os"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
func main() {
|
||||
fmt.Println(countGreater(returnContent("../input")))
|
||||
}
|
||||
|
||||
func countGreater(input *[]int) (count int) {
|
||||
//Find how many elements have increased from previous
|
||||
|
||||
for i := 1; i < len(*input); i++ {
|
||||
if (*input)[i] > (*input)[i-1] {
|
||||
count++
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func returnContent(path string) *[]int {
|
||||
//read file and return it as an array of integers
|
||||
|
||||
file, err := os.Open(path)
|
||||
var content []int
|
||||
|
||||
if err != nil {
|
||||
fmt.Println("Unlucky, the file didn't open")
|
||||
return &content
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
scanner := bufio.NewScanner(file)
|
||||
for scanner.Scan() {
|
||||
value, _ := strconv.Atoi(scanner.Text())
|
||||
content = append(content, value)
|
||||
}
|
||||
|
||||
return &content
|
||||
}
|
3
day1/1a/go.mod
Normal file
3
day1/1a/go.mod
Normal file
@ -0,0 +1,3 @@
|
||||
module PWD
|
||||
|
||||
go 1.17
|
46
day1/1b/day1b.go
Normal file
46
day1/1b/day1b.go
Normal file
@ -0,0 +1,46 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"os"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
func main() {
|
||||
fmt.Println(countGreater(returnContent("../input")))
|
||||
}
|
||||
|
||||
func countGreater(input *[]int) (count int) {
|
||||
//Find how many elements have increased from previous
|
||||
|
||||
for i := 3; i < len(*input); i++ {
|
||||
sum1 := (*input)[i-1] + (*input)[i-2] + (*input)[i-3]
|
||||
sum2 := (*input)[i-1] + (*input)[i-2] + (*input)[i]
|
||||
if sum2 > sum1 {
|
||||
count++
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func returnContent(path string) *[]int {
|
||||
//read file and return it as an array of integers
|
||||
|
||||
file, err := os.Open(path)
|
||||
var content []int
|
||||
|
||||
if err != nil {
|
||||
fmt.Println("Unlucky, the file didn't open")
|
||||
return &content
|
||||
}
|
||||
defer file.Close()
|
||||
|
||||
scanner := bufio.NewScanner(file)
|
||||
for scanner.Scan() {
|
||||
value, _ := strconv.Atoi(scanner.Text())
|
||||
content = append(content, value)
|
||||
}
|
||||
|
||||
return &content
|
||||
}
|
3
day1/1b/go.mod
Normal file
3
day1/1b/go.mod
Normal file
@ -0,0 +1,3 @@
|
||||
module PWD
|
||||
|
||||
go 1.17
|
2000
day1/input
Normal file
2000
day1/input
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user