23 lines
590 B
Rust
23 lines
590 B
Rust
use crate::utilities::*;
|
|
|
|
pub fn part1(input: &str) -> usize {
|
|
input
|
|
.as_bytes()
|
|
.windows(4)
|
|
.position(|x| !find_dupes_stupid(x))
|
|
.unwrap()+4
|
|
}
|
|
|
|
#[cfg(test)]
|
|
mod tests {
|
|
use super::*;
|
|
|
|
#[test]
|
|
fn test_part1() {
|
|
assert_eq!(part1("mjqjpqmgbljsphdztnvjfqwrcgsmlb"), 7);
|
|
assert_eq!(part1("bvwbjplbgvbhsrlpgdmjqwftvncz"), 5);
|
|
assert_eq!(part1("nppdvjthqldpwncqszvftbrmjlhg"), 6);
|
|
assert_eq!(part1("nznrnfrfntjfmvfwmzdfjlvtqnbhcprsg"), 10);
|
|
assert_eq!(part1("zcfzfwzzqfrljwzlrfnpqdbhtmscgvjw"), 11);
|
|
}
|
|
}
|