aboutsummaryrefslogtreecommitdiff
path: root/src/day2pt1.rs
blob: c1dad9c1500b8970e0918e0a5cc04761902f0eb2 (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
34
35
36
37
38
39
40
41
42
43
44
pub fn main() {
    let _max_red: u32 = 12;
    let _max_green: u32 = 13;
    let _max_blue: u32 = 14;

    let mut sum: u32 = 0;
    let mut idx: u32 = 1;

    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 ind: bool = true;

        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();

                ind = match boja {
                    "red" => _max_red >= broj,
                    "green" => _max_green >= broj,
                    "blue" => _max_blue >= broj,
                    _ => ind,
                };
                if ind == false {
                    break;
                }
            }
            if ind == false {
                break;
            }
        }

        if ind {
            sum += idx;
        }

        idx += 1;
    }

    println!("{}", sum);
}