44 lines
946 B
Rust
44 lines
946 B
Rust
|
pub fn day1() {
|
||
|
// let input = r#"199
|
||
|
// 200
|
||
|
// 208
|
||
|
// 210
|
||
|
// 200
|
||
|
// 207
|
||
|
// 240
|
||
|
// 269
|
||
|
// 260
|
||
|
// 263"#;
|
||
|
let input = include_str!("../input/day1.txt");
|
||
|
|
||
|
let ints = input
|
||
|
.trim()
|
||
|
.lines()
|
||
|
.map(|s| s.trim().parse::<i32>().unwrap());
|
||
|
|
||
|
let mut iter = ints.clone();
|
||
|
let mut prev: i32 = iter.next().unwrap();
|
||
|
let mut count = 0;
|
||
|
for cur in iter {
|
||
|
if cur > prev {
|
||
|
count += 1;
|
||
|
}
|
||
|
prev = cur;
|
||
|
}
|
||
|
|
||
|
println!("count: {}", count);
|
||
|
|
||
|
let mut iter = ints.clone().zip(ints.clone().skip(1).zip(ints.skip(2)));
|
||
|
let first = iter.next().unwrap();
|
||
|
let mut prev_sum = first.0 + first.1 .0 + first.1 .1;
|
||
|
let mut new_count = 0;
|
||
|
for (a, (b, c)) in iter {
|
||
|
let sum = a + b + c;
|
||
|
if sum > prev_sum {
|
||
|
new_count += 1;
|
||
|
}
|
||
|
prev_sum = sum;
|
||
|
}
|
||
|
println!("new_count: {}", new_count);
|
||
|
}
|