day 1 in zig aaaaaaaaaa
This commit is contained in:
parent
f600082452
commit
b247901899
1
rust/.gitignore → .gitignore
vendored
1
rust/.gitignore → .gitignore
vendored
@ -1,2 +1,3 @@
|
||||
part1
|
||||
part2
|
||||
*.o
|
2259
zig/1/input.txt
Normal file
2259
zig/1/input.txt
Normal file
File diff suppressed because it is too large
Load Diff
25
zig/1/part1.zig
Normal file
25
zig/1/part1.zig
Normal file
@ -0,0 +1,25 @@
|
||||
const std = @import("std");
|
||||
|
||||
pub fn main() !void {
|
||||
var file = try std.fs.cwd().openFile("input.txt", .{});
|
||||
defer file.close();
|
||||
|
||||
var a = std.io.bufferedReader(file.reader());
|
||||
var readerStream = a.reader();
|
||||
|
||||
var buf: [32]u8 = undefined;
|
||||
var max: i32 = 0;
|
||||
var cur: i32 = 0;
|
||||
while (try readerStream.readUntilDelimiterOrEof(&buf, '\n')) |line| {
|
||||
if (std.mem.eql(u8, line, "")) {
|
||||
max = std.math.max(max, cur);
|
||||
cur = 0;
|
||||
} else {
|
||||
cur += try std.fmt.parseInt(i32, line, 10);
|
||||
}
|
||||
}
|
||||
max = std.math.max(max, cur);
|
||||
cur = 0;
|
||||
|
||||
std.debug.print("{d}\n", .{max});
|
||||
}
|
28
zig/1/part2.zig
Normal file
28
zig/1/part2.zig
Normal file
@ -0,0 +1,28 @@
|
||||
const std = @import("std");
|
||||
|
||||
pub fn main() !void {
|
||||
var file = try std.fs.cwd().openFile("input.txt", .{});
|
||||
defer file.close();
|
||||
|
||||
var a = std.io.bufferedReader(file.reader());
|
||||
var readerStream = a.reader();
|
||||
|
||||
var buf: [32]u8 = undefined;
|
||||
var top = [3]i32{ 0, 0, 0 };
|
||||
var cur: i32 = 0;
|
||||
while (try readerStream.readUntilDelimiterOrEof(&buf, '\n')) |line| {
|
||||
if (std.mem.eql(u8, line, "")) {
|
||||
top[0] = std.math.max(top[0], cur);
|
||||
std.sort.sort(i32, &top, {}, std.sort.asc(i32));
|
||||
cur = 0;
|
||||
} else {
|
||||
cur += try std.fmt.parseInt(i32, line, 10);
|
||||
}
|
||||
}
|
||||
|
||||
var sum: i32 = 0;
|
||||
for (top) |val| {
|
||||
sum += val;
|
||||
}
|
||||
std.debug.print("{d}\n", .{sum});
|
||||
}
|
Loading…
Reference in New Issue
Block a user