AoC2022/src/bin/day6.rs

43 lines
912 B
Rust

use itertools::Itertools;
use std::collections::HashSet;
use std::error::Error;
use std::fs::File;
use std::io::{self, BufRead};
use std::vec::Vec;
fn main() -> Result<(), Box<dyn Error>> {
let file = File::open("inputs/day6.txt")?;
let line = io::BufReader::new(file)
.lines()
.nth(0)
.unwrap()
.unwrap()
.to_owned();
let mut answer1 = 0;
for i in 0..line.len() - 4 {
let set: HashSet<char> = line[i..i + 4].chars().collect();
if set.len() == 4 {
answer1 = i + 4;
break;
}
}
println!("Answer Part1: {}", answer1);
let mut answer2 = 0;
for i in 0..line.len() - 14 {
let set: HashSet<char> = line[i..i + 14].chars().collect();
if set.len() == 14 {
answer2 = i + 14;
break;
}
}
println!("Answer Part2: {}", answer2);
Ok(())
}