aboutsummaryrefslogtreecommitdiff
path: root/src/day2pt2.rs
blob: 86ba306f77203cc81b32d9b57838f4ebe5c68a75 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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);
}