From f8117ea7a805139aca5b65ee48b5ec2643e2b826 Mon Sep 17 00:00:00 2001 From: Brendan Hansen Date: Sat, 5 Dec 2020 19:08:07 -0600 Subject: [PATCH] added day 5 --- day5.onyx | 40 ++++++++++++++++++++++++++++++++++++++++ out.wasm | Bin 0 -> 8564 bytes 2 files changed, 40 insertions(+) create mode 100644 day5.onyx create mode 100644 out.wasm diff --git a/day5.onyx b/day5.onyx new file mode 100644 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 index 0000000000000000000000000000000000000000..ca2766ae186e6696fbe6adaaf9c8bf56b1feb356 GIT binary patch literal 8564 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 literal 0 HcmV?d00001 -- 2.25.1