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
|
part1
|
||||||
part2
|
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