-
Notifications
You must be signed in to change notification settings - Fork 20
/
Copy pathDay5.java
31 lines (25 loc) · 807 Bytes
/
Day5.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package com.sbaars.adventofcode.year15.days;
import com.sbaars.adventofcode.year15.Day2015;
public class Day5 extends Day2015 {
public Day5() {
super(5);
}
public static void main(String[] args) {
new Day5().printParts();
}
@Override
public Object part1() {
return dayStream()
.filter(s -> s.replaceAll("a|e|i|o|u", "").length() <= s.length() - 3)
.filter(s -> s.replaceAll("([a-z])\\1+", "").length() < s.length())
.filter(s -> s.replaceAll("ab|cd|pq|xy", "").length() == s.length())
.count();
}
@Override
public Object part2() {
return dayStream()
.filter(s -> s.replaceAll("([a-z][a-z])(.*)\\1+", "").length() < s.length())
.filter(s -> s.replaceAll("([a-z]).\\1", "").length() < s.length())
.count();
}
}