use std::fs::File; use std::io::Read; use std::prelude::v1::Vec; use std::collections::HashMap; fn main() { let mut f = File::open("input").expect("file not found"); let mut contents = String::new(); f.read_to_string(&mut contents).expect("something went wrong reading the file"); let lines: Vec<&str> = contents.split("\n").collect(); println!("{}", count_doubles_and_triples(lines)); } fn count_doubles_and_triples(lines: Vec<&str>) -> i32 { let mut doubles = 0; let mut triples = 0; for line in lines{ let mut counts = HashMap::new(); for character in line.chars() { *counts.entry(character).or_insert(0) += 1; } if counts.values().any(|&count| count == 2) { doubles += 1; } if counts.values().any(|&count| count == 3) { triples += 1; } } triples*doubles } fn find_common_letters(lines: Vec<&str>) -> Vec{ }