This repository has been archived on 2024-05-09. You can view files and clone it, but cannot push or open issues/pull-requests.
advent/2020/day_2/src/main.rs

21 lines
746 B
Rust

#[macro_use]
extern crate scan_fmt;
fn main() {
let mut passline: Vec<String> = Vec::new();
let contents = std::fs::read_to_string("input1").unwrap();
for s in contents.lines() {
passline.push(s.parse::<String>().unwrap());
}
let mut valid_passwords = 0;
for line in passline.iter() {
let (min, max, key, pass) =
scan_fmt!(&line, "{}-{} {}: {}", usize, usize, char, String).unwrap();
if (pass.as_bytes()[min - 1] == key as u8 && pass.as_bytes()[max - 1] != key as u8)
|| (pass.as_bytes()[min - 1] != key as u8 && pass.as_bytes()[max - 1] == key as u8)
{
valid_passwords += 1;
}
}
print!("Valid Passwords Found: {}\n", valid_passwords);
}