|
|
@@ -0,0 +1,27 @@
|
|
|
+#!/usr/bin/env python3
|
|
|
+def get_groups(pw):
|
|
|
+ prev = 10
|
|
|
+ group = 1
|
|
|
+ groups = []
|
|
|
+ while pw:
|
|
|
+ d = pw % 10
|
|
|
+ if d > prev:
|
|
|
+ return []
|
|
|
+ if d == prev:
|
|
|
+ group += 1
|
|
|
+ else:
|
|
|
+ groups.append(group)
|
|
|
+ group = 1
|
|
|
+ prev = d
|
|
|
+ pw //= 10
|
|
|
+ groups.append(group)
|
|
|
+ return groups
|
|
|
+
|
|
|
+pmin, pmax = 240920, 789857
|
|
|
+relaxed = strict = 0
|
|
|
+for n in range(pmin, pmax + 1):
|
|
|
+ groups = list(get_groups(n))
|
|
|
+ relaxed += int(any(group >= 2 for group in groups))
|
|
|
+ strict += int(2 in groups)
|
|
|
+print(relaxed)
|
|
|
+print(strict)
|