From 02cb93c30dbb3d39c36fbf024c5e53bc0e4d1f79 Mon Sep 17 00:00:00 2001 From: Justin Worthe Date: Tue, 6 Dec 2016 09:02:16 +0200 Subject: AOC6 --- aoc6/src/main.rs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 aoc6/src/main.rs (limited to 'aoc6/src') diff --git a/aoc6/src/main.rs b/aoc6/src/main.rs new file mode 100644 index 0000000..45ae3b1 --- /dev/null +++ b/aoc6/src/main.rs @@ -0,0 +1,27 @@ +use std::io::BufReader; +use std::io::prelude::*; +use std::fs::File; +use std::collections::HashMap; + +fn main() { + let lines = read_file(); + let answer_width = lines[0].len(); + for i in 0..answer_width { + let line = lines.iter().map(|line| line.chars().nth(i).unwrap()).collect::>(); + + let mut char_counts = HashMap::new(); + for character in line { + *char_counts.entry(character).or_insert(0) += 1; + } + let (character, _) = char_counts.iter().min_by_key(|&(_, &count)| count).unwrap(); + println!("{}", character); + } +} + +fn read_file() -> Vec { + let file = BufReader::new(File::open("test_input.txt").unwrap()); + file.lines() + .map(|line| line.unwrap().trim().to_string()) + .filter(|line| line.len() > 0) + .collect() +} -- cgit v1.2.3