From 1e49f31c37251cb3824fed650ee5f17d52ceb46e Mon Sep 17 00:00:00 2001 From: inga-lovinde <52715130+inga-lovinde@users.noreply.github.com> Date: Mon, 21 Dec 2020 03:34:21 +0100 Subject: [PATCH] Solution for day 5 --- day05/Cargo.toml | 9 +++++++++ day05/src/main.rs | 19 +++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 day05/Cargo.toml create mode 100644 day05/src/main.rs diff --git a/day05/Cargo.toml b/day05/Cargo.toml new file mode 100644 index 0000000..be6a4b6 --- /dev/null +++ b/day05/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "day05" +version = "0.1.0" +authors = ["inga-lovinde <52715130+inga-lovinde@users.noreply.github.com>"] +edition = "2018" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] diff --git a/day05/src/main.rs b/day05/src/main.rs new file mode 100644 index 0000000..35dd515 --- /dev/null +++ b/day05/src/main.rs @@ -0,0 +1,19 @@ +use std::io::{self, BufRead}; + +fn main() { + let stdin = io::stdin(); + let mut tickets: Vec = Vec::new(); + for line_result in stdin.lock().lines() { + let binary_line = line_result.unwrap().replace('F', "0").replace('B', "1").replace('L', "0").replace('R', "1"); + tickets.push(u16::from_str_radix(&binary_line, 2).unwrap()); + } + + println!("max: {}", tickets.iter().max().unwrap()); + + tickets.sort(); + for i in 1..tickets.len() { + if tickets[i] - tickets[i-1] != 1 { + println!("hole: {}-{}", tickets[i-1], tickets[i]); + } + } +}