aboutsummaryrefslogtreecommitdiff
path: root/src/2015/day5/aoc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/2015/day5/aoc.cpp')
-rw-r--r--src/2015/day5/aoc.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/2015/day5/aoc.cpp b/src/2015/day5/aoc.cpp
index aa0213f..6c5ca47 100644
--- a/src/2015/day5/aoc.cpp
+++ b/src/2015/day5/aoc.cpp
@@ -25,8 +25,20 @@ bool is_nice(line_view lv, int repeated) {
return false;
}
+bool is_interleaved(line_view lv) {
+ const char* p = lv.line;
+ while (p + 3 <= lv.line + lv.length) {
+ if (*p == *(p + 2)) {
+ return true;
+ } else {
+ p++;
+ }
+ }
+ return false;
+}
+
bool is_nice(line_view lv, const char* disallowed[], size_t size) {
- return not std::any_of(disallowed, disallowed + size, [&lv](const char* s) -> bool { return lv.contains(s); });
+ return std::all_of(disallowed, disallowed + size, [&lv](const char* s) -> bool { return lv.contains(s) == nullptr; });
}
int day5(line_view file) {