diff options
author | Christian Segundo | 2022-12-05 17:00:08 +0100 |
---|---|---|
committer | Christian Segundo | 2022-12-05 22:16:11 +0100 |
commit | 061a5bae272f45db6dcde99746922735f9769d25 (patch) | |
tree | e4dd9b6d903930c5c1b76286b4a08beea6f59162 /day-1/main.zig | |
parent | 8817203517907ef4248bde7474e6fb566515d6a7 (diff) | |
download | advent-of-zig-2022-061a5bae272f45db6dcde99746922735f9769d25.tar.gz |
add day 5
Diffstat (limited to 'day-1/main.zig')
-rw-r--r-- | day-1/main.zig | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/day-1/main.zig b/day-1/main.zig deleted file mode 100644 index d985c9b..0000000 --- a/day-1/main.zig +++ /dev/null @@ -1,46 +0,0 @@ -const std = @import("std"); -const min_idx = @import("util/mem.zig").min_idx; - -pub fn puzzle_1(input: []const u8) !i32 { - var iter = std.mem.split(u8, input, "\n"); - var count: i32 = 0; - var max: i32 = 0; - - while (iter.next()) |line| { - if (line.len == 0) { - if (count > max) { - max = count; - } - count = 0; - } else { - count += try std.fmt.parseInt(i32, line, 0); - } - } - - return max; -} - -pub fn puzzle_2(input: []const u8) !i32 { - var iter = std.mem.split(u8, input, "\n"); - var count: i32 = 0; - var max: [3]i32 = std.mem.zeroes([3]i32); - - while (iter.next()) |line| { - if (line.len == 0) { - const lowest_u = min_idx(i32, &max); - if (count > max[lowest_u]) { - max[lowest_u] = count; - } - count = 0; - } else { - count += try std.fmt.parseInt(i32, line, 0); - } - } - - count = 0; - for (max) |v| { - count += v; - } - - return count; -} |