Untitled

 avatar
unknown
rust
3 years ago
1.0 kB
12
Indexable
use std::collections::HashMap;
use std::fs;
use std::io::BufRead;
use std::path::PathBuf;
use std::ptr::hash;

fn get_priority(char: char) -> u32 {
    let mut char_as_u32 = char as u32;
    if char.is_ascii_lowercase() {
        char_as_u32 - 96
    } else {
        char_as_u32 + 27 - 65
    }
}

fn get_duplicate_charaters(mut line: String) -> char {
    let second_part = line.split_off(line.len() / 2);
    let first_part = line;

    for x in first_part.chars() {
        for y in second_part.chars() {
            if x == y {
                return x;
            }
        }
    }
    'a'

}

fn main() {
    let data = fs::read(PathBuf::from("data.txt")).unwrap();
    let data_lines = data.lines();
    let mut total_value: u32 = 0;
    let mut duplicates: Vec<char> = Vec::new();
    for line in data_lines {
        let res = get_duplicate_charaters(line.unwrap());
        duplicates.push(res)

    }
    for a in duplicates {
        total_value += get_priority(a);
    }
    println!("{}", total_value)
}
Editor is loading...