day01 both

This commit is contained in:
Johannes
2018-12-01 10:03:12 +01:00
commit cebb80763a
9 changed files with 1023 additions and 0 deletions

36
src/tasks/day01.rs Normal file
View File

@@ -0,0 +1,36 @@
use std::collections::HashSet;
use utils;
pub fn task1() {
let contents = utils::read_file("input/day01.txt");
let mut frequency = 0;
for line in contents.split_whitespace() {
let number: i32 = line.parse().unwrap();
frequency += number;
}
println!("Result: {}", frequency);
}
pub fn task2() {
let contents = utils::read_file("input/day01.txt");
let mut seen = HashSet::new();
let mut frequency = 0;
seen.insert(frequency);
let changes: Vec<i32> = contents.lines().map(|line| line.parse().unwrap()).collect();
loop {
for number in changes.iter() {
frequency += number;
if seen.contains(&frequency) {
println!("{} was there already!", frequency);
return;
}
seen.insert(frequency);
}
}
}

1
src/tasks/mod.rs Normal file
View File

@@ -0,0 +1 @@
pub mod day01;