diff --git a/.gitignore b/.gitignore index 4ae822d..5740355 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /target **/*.rs.bk -.idea \ No newline at end of file +.idea +/input \ No newline at end of file diff --git a/src/day11.rs b/src/day11.rs index 455eec4..82d0a5e 100644 --- a/src/day11.rs +++ b/src/day11.rs @@ -10,6 +10,19 @@ fn part1(input: &str) -> String { }).unwrap() } +#[aoc(day11, part2)] +fn part2(input: &str) -> String { + PasswordCounter::from(input.to_owned()).filter(|p| { + let r1 = rule1(&p); + let r2 = rule2(&p); + let r3 = rule3(&p); + r1 && r2 && r3 + }) + .skip(1) + .next().unwrap() +} + + fn rule1(pw: &str) -> bool { let pw = pw.as_bytes(); for i in 0..pw.len() - 2 {