added day 5
authorBrendan Hansen <brendan.f.hansen@gmail.com>
Sun, 6 Dec 2020 01:08:07 +0000 (19:08 -0600)
committerBrendan Hansen <brendan.f.hansen@gmail.com>
Sun, 6 Dec 2020 01:08:07 +0000 (19:08 -0600)
day5.onyx [new file with mode: 0644]
out.wasm [new file with mode: 0644]

diff --git a/day5.onyx b/day5.onyx
new file mode 100644 (file)
index 0000000..8d962ca
--- /dev/null
+++ b/day5.onyx
@@ -0,0 +1,40 @@
+#include_file "core/std/wasi"
+
+use package core
+use package core_file
+
+main :: proc (args: [] cstring) {
+    contents := file_get_contents("input/day5.txt");
+    contents_data := contents.data;
+    defer cfree(contents_data);
+
+    vals: [..] u32;
+    array_init(^vals);
+    defer array_free(^vals);
+
+    max_val := 0;
+
+    while true {
+        line: string;
+        string_read_line(^contents, ^line);
+        if line.count == 0 do break;
+
+        val := 0;
+        for ch: line {
+            val *= 2;
+            if ch == #char "B" || ch == #char "R" do val += 1;
+        }
+
+        max_val = max_poly(max_val, val);
+        array_push(^vals, val);
+    }
+
+    missing := 0;
+    array_sort(^vals, cmp_asc);
+    for i: 0 .. vals.count - 1 {
+        if vals[i + 1] - vals[i] != 1 do missing = vals[i] + 1;
+    }
+
+    printf("Max val: %i\n", max_val);
+    printf("Your seat: %i\n", missing);
+}
diff --git a/out.wasm b/out.wasm
new file mode 100644 (file)
index 0000000..ca2766a
Binary files /dev/null and b/out.wasm differ