Files
adventofcode/2016/06/src/main.rs
2016-12-06 10:33:54 +01:00

46 lines
1.0 KiB
Rust

use std::io::{self, BufRead};
use std::collections::HashMap;
fn main() {
let stdin = io::stdin();
let lines = stdin.lock().lines()
.filter_map(|x| x.ok())
.collect::<Vec<_>>();
let mut count: Vec<HashMap<char, u16>> = vec![HashMap::new(); 1024];
for line in lines {
for (i, ch) in line.chars().enumerate() {
*count[i].entry(ch).or_insert(0) += 1;
}
}
let corrected_most: String = count.iter()
.filter_map(|x| {
let mut vec: Vec<_> = x.iter().collect();
vec.sort_by_key(|k| k.1);
vec.pop()
})
.map(|x| *x.0)
.collect();
let corrected_least: String = count.iter()
.filter_map(|x| {
let mut vec: Vec<_> = x.iter().collect();
vec.sort_by_key(|k| k.1);
vec.reverse();
vec.pop()
})
.map(|x| *x.0)
.collect();
println!("corrected_most={}", corrected_most);
println!("corrected_least={}", corrected_least);
}