add day 3 claude solution
This commit is contained in:
@@ -34,6 +34,29 @@ fn main() {
|
|||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
part1(&data);
|
part1(&data);
|
||||||
|
|
||||||
|
part2_claude(binding);
|
||||||
|
}
|
||||||
|
|
||||||
|
fn part2_claude(input: String) {
|
||||||
|
let result = input
|
||||||
|
.lines()
|
||||||
|
.map(parse_triple)
|
||||||
|
.tuples()
|
||||||
|
.flat_map(|((a0, a1, a2), (b0, b1, b2), (c0, c1, c2))| {
|
||||||
|
[(a0, b0, c0), (a1, b1, c1), (a2, b2, c2)]
|
||||||
|
})
|
||||||
|
.filter(|(a, b, c)| a + b > *c && a + c > *b && b + c > *a)
|
||||||
|
.count();
|
||||||
|
|
||||||
|
println!("{result}");
|
||||||
|
}
|
||||||
|
|
||||||
|
fn parse_triple(line: &str) -> (usize, usize, usize) {
|
||||||
|
line.split_whitespace()
|
||||||
|
.map(|s| s.parse().unwrap())
|
||||||
|
.next_tuple()
|
||||||
|
.unwrap()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn part1(data: &[Vec<usize>]) {
|
fn part1(data: &[Vec<usize>]) {
|
||||||
|
|||||||
Reference in New Issue
Block a user