[−][src]Function codetrotter_aoc_2019_solutions::day_04::solve_part_1
pub fn solve_part_1(input_range: &DigitsNeverDecreasingRange) -> usize
Day 4: Secure Container
https://adventofcode.com/2019/day/4
You arrive at the Venus fuel depot only to discover it's protected by a password. The Elves had written the password on a sticky note, but someone threw it out.
However, they do remember a few key facts about the password:
- It is a six-digit number.
- The value is within the range given in your puzzle input.
- Two adjacent digits are the same (like
22
in122345
). - Going from left to right, the digits never decrease; they only ever
increase or stay the same (like
111123
or135679
).
Other than the range rule, the following are true:
111111
meets these criteria (double11
, never decreases).223450
does not meet these criteria (decreasing pair of digits50
).123789
does not meet these criteria (no double).
How many different passwords within the range given in your puzzle input meet these criteria?
Examples
use codetrotter_aoc_2019_solutions::day_04::{input_generator, solve_part_1}; assert_eq!(solve_part_1(&input_generator("111111-111111")), 1);
assert_eq!(solve_part_1(&input_generator("223450-223450")), 0);
assert_eq!(solve_part_1(&input_generator("123789-123789")), 0);
Solution
⚠️ SPOILER ALERT ⚠️
use codetrotter_aoc_2019_solutions::day_04::{INPUT, input_generator, solve_part_1}; assert_eq!(solve_part_1(&mut input_generator(INPUT)), 1099);