From df84b513a689bd2b420092730617cffc9601e758 Mon Sep 17 00:00:00 2001 From: cominixo Date: Tue, 2 Dec 2025 22:55:40 +0000 Subject: Day 1 --- src/days/1/1.zig | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/days/1/1.zig (limited to 'src/days/1/1.zig') diff --git a/src/days/1/1.zig b/src/days/1/1.zig new file mode 100644 index 0000000..6ec4a1c --- /dev/null +++ b/src/days/1/1.zig @@ -0,0 +1,31 @@ +const std = @import("std"); + +pub fn main() !void { + + const buf = @embedFile("input"); + + var lines = std.mem.splitScalar(u8, buf, '\n'); + + var dial: i32 = 50; + var num_zeros: i32 = 0; + var num_zeros_p1: i32 = 0; + + + while (lines.next()) |line| { + if (line.len < 2) continue; + + const num = try std.fmt.parseInt(i32, line[1.. line.len], 10); + + const left_turn = line[0] == 'L'; + + if (dial == 0 and left_turn) num_zeros -= 1; + dial = if(left_turn) dial - num else dial + num; + const increment: i32 = @intCast(@abs(@divFloor(if(left_turn) dial-1 else dial,100))); + dial = @mod(dial,100); + + + num_zeros += increment; + if(dial == 0) num_zeros_p1 += 1; + } + std.debug.print("{} {}\n", .{num_zeros_p1, num_zeros}); +} -- cgit v1.2.3-70-g09d2