From 0c1fc940b3a6ebda8414177cefcb0788a90f6815 Mon Sep 17 00:00:00 2001 From: Mika Suhonen Date: Mon, 2 Dec 2024 17:57:59 +0200 Subject: [PATCH] 03 initial --- 2024/03/go.mod | 3 +++ 2024/03/main.go | 54 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 2024/03/go.mod create mode 100644 2024/03/main.go diff --git a/2024/03/go.mod b/2024/03/go.mod new file mode 100644 index 0000000..3a3a5a6 --- /dev/null +++ b/2024/03/go.mod @@ -0,0 +1,3 @@ +module main + +go 1.23.3 diff --git a/2024/03/main.go b/2024/03/main.go new file mode 100644 index 0000000..6886096 --- /dev/null +++ b/2024/03/main.go @@ -0,0 +1,54 @@ +package main + +import ( + "fmt" + "os" + "strconv" + "strings" +) + +func main() { + + lines, err := parse() + if err != nil { + fmt.Println("Error:", err) + } + + var p1 int = 0 + var p2 int = 0 + + for _, line := range lines { + numbers := strings.Fields(line) + report := make([]int, len(numbers)) + for i, num := range numbers { + x, err := strconv.Atoi(num) + if err != nil { + panic(err) + } + report[i] = x + } + } + + fmt.Println("p1: ", p1) + fmt.Println("p2: ", p2) +} + +func parse() ([]string, error) { + if len(os.Args) < 2 { + return nil, fmt.Errorf("no file provided") + } + filePath := os.Args[1] + data, err := os.ReadFile(filePath) + if err != nil { + return nil, fmt.Errorf("error opening file: %v", err) + } + chunks := strings.Split(string(data), "\n") + var nonEmpthyChunks = []string{} + + for _, chunk := range chunks { + if chunk != "" { + nonEmpthyChunks = append(nonEmpthyChunks, chunk) + } + } + return nonEmpthyChunks, nil +}