add day 3
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
use itertools::Itertools;
|
||||
|
||||
fn main() {
|
||||
let binding = std::fs::read_to_string("input.txt").unwrap();
|
||||
let data: Vec<Vec<_>> = binding
|
||||
.lines()
|
||||
.map(|l| {
|
||||
l.split_whitespace()
|
||||
.map(|s| s.parse::<usize>().unwrap())
|
||||
.collect()
|
||||
})
|
||||
.collect();
|
||||
|
||||
part1(&data);
|
||||
|
||||
let mut a: Vec<usize> = vec![];
|
||||
let mut b: Vec<usize> = vec![];
|
||||
let mut c: Vec<usize> = vec![];
|
||||
|
||||
binding.lines().for_each(|l| {
|
||||
let mut iter = l.split_whitespace();
|
||||
a.push(iter.next().unwrap().parse().unwrap());
|
||||
b.push(iter.next().unwrap().parse().unwrap());
|
||||
c.push(iter.next().unwrap().parse().unwrap());
|
||||
});
|
||||
|
||||
b.drain(..).for_each(|item| a.push(item));
|
||||
c.drain(..).for_each(|item| a.push(item));
|
||||
|
||||
let data: Vec<_> = a
|
||||
.iter()
|
||||
.tuples()
|
||||
.map(|(a, b, c)| vec![*a, *b, *c])
|
||||
.collect();
|
||||
|
||||
part1(&data);
|
||||
}
|
||||
|
||||
fn part1(data: &[Vec<usize>]) {
|
||||
let result = data
|
||||
.iter()
|
||||
.filter(|t| {
|
||||
let a: usize = t[0];
|
||||
let b: usize = t[1];
|
||||
let c: usize = t[2];
|
||||
a + b > c && a + c > b && b + c > a
|
||||
})
|
||||
.count();
|
||||
|
||||
println!("{result}");
|
||||
}
|
||||
Reference in New Issue
Block a user