Day 5 part 2
This commit is contained in:
parent
6323a9b860
commit
3f4276701d
1 changed files with 44 additions and 0 deletions
|
|
@ -35,6 +35,50 @@ fn part_1(input: String) -> i32 {
|
|||
count
|
||||
}
|
||||
|
||||
fn part_2(input: String) -> i32 {
|
||||
let mut count = 0;
|
||||
|
||||
for line in input.lines() {
|
||||
let mut cursor = Vec::from(['-', '-']);
|
||||
let mut duplicate = 0;
|
||||
let mut gap = false;
|
||||
for c in line.chars() {
|
||||
cursor[0] = cursor[1];
|
||||
cursor[1] = c;
|
||||
|
||||
let mut cursor2 = Vec::from(['-', '-']);
|
||||
let mut last_duplicate = false;
|
||||
for c2 in line.chars() {
|
||||
cursor2[0] = cursor2[1];
|
||||
cursor2[1] = c2;
|
||||
|
||||
if(cursor == cursor2 && !last_duplicate) {
|
||||
duplicate += 1;
|
||||
last_duplicate = true;
|
||||
continue;
|
||||
}
|
||||
last_duplicate = false;
|
||||
}
|
||||
}
|
||||
cursor = Vec::from(['-', '-', '-']);
|
||||
for c in line.chars() {
|
||||
cursor[0] = cursor[1];
|
||||
cursor[1] = cursor[2];
|
||||
cursor[2] = c;
|
||||
|
||||
if cursor[0] == cursor[2] {
|
||||
gap = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (duplicate >= line.len() + 1) && gap {
|
||||
count += 1;
|
||||
}
|
||||
}
|
||||
count
|
||||
}
|
||||
|
||||
pub fn print_answer() {
|
||||
println!("Day\t5\tpart\t1\tanswer:\t{}", part_1(fs::read_to_string("src/AoC2015/fifth2015.txt").unwrap()));
|
||||
println!("Day\t5\tpart\t1\tanswer:\t{}", part_2(fs::read_to_string("src/AoC2015/fifth2015.txt").unwrap()));
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue