+7
2025/3/rust/Cargo.lock
+7
2025/3/rust/Cargo.lock
+6
2025/3/rust/Cargo.toml
+6
2025/3/rust/Cargo.toml
+21
2025/3/rust/src/main.rs
+21
2025/3/rust/src/main.rs
···
1
+
fn solve(input: &Vec<Vec<u32>>, digits: usize) {
2
+
input.iter().fold(0, |acc, bank| {
3
+
let n = (0..digits).fold((0, bank), |(number, bank), i| {
4
+
let max = bank[0..bank.len() - i]
5
+
.iter()
6
+
.max()
7
+
.unwrap_or(bank.last().unwrap());
8
+
9
+
return (number * 10 + max, bank[0..bank.len() - max_loc - 1]);
10
+
});
11
+
acc + n
12
+
})
13
+
}
14
+
15
+
fn main() {
16
+
let input: Vec<Vec<u32>> = include_str!("../../input.txt")
17
+
.trim()
18
+
.split("\n")
19
+
.map(|bank| bank.chars().map(|s| s.to_digit(10).unwrap()).collect())
20
+
.collect();
21
+
}