diff options
Diffstat (limited to 'src/day2pt2.rs')
| -rw-r--r-- | src/day2pt2.rs | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/day2pt2.rs b/src/day2pt2.rs new file mode 100644 index 0000000..86ba306 --- /dev/null +++ b/src/day2pt2.rs @@ -0,0 +1,33 @@ +use std::cmp; + +pub fn main() { + let mut sum: u32 = 0; + + let txt = std::fs::read_to_string("./input/day2.txt").unwrap(); + for line in txt.lines() { + let pline = line.split(": ").last().unwrap(); + + // za svaku liniju + let mut _max_red: u32 = 0; + let mut _max_green: u32 = 0; + let mut _max_blue: u32 = 0; + + for i in pline.split("; ") { + for boje in i.split(", ") { + let broj = boje.split(" ").nth(0).unwrap().parse::<u32>().unwrap(); + let boja = boje.split(" ").last().unwrap(); + + match boja { + "red" => _max_red = cmp::max(_max_red, broj), + "green" => _max_green = cmp::max(_max_green, broj), + "blue" => _max_blue = cmp::max(_max_blue, broj), + _ => println!("jbg"), + }; + } + } + + sum += _max_red * _max_green * _max_blue; + } + + println!("{}", sum); +} |
