소스 검색

Solve day 4

Taddeus Kroes 6 년 전
부모
커밋
21c1753f84
1개의 변경된 파일27개의 추가작업 그리고 0개의 파일을 삭제
  1. 27 0
      2019/04_password.py

+ 27 - 0
2019/04_password.py

@@ -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)