summaryrefslogtreecommitdiffstats
path: root/solutions/py/d04.py
diff options
context:
space:
mode:
Diffstat (limited to 'solutions/py/d04.py')
-rw-r--r--solutions/py/d04.py65
1 files changed, 0 insertions, 65 deletions
diff --git a/solutions/py/d04.py b/solutions/py/d04.py
deleted file mode 100644
index c9bcbf3..0000000
--- a/solutions/py/d04.py
+++ /dev/null
@@ -1,65 +0,0 @@
-from collections import Counter
-
-def isIncreasing(num):
- s = list(str(num))
- n = int(s[0])
- n_i = 0
- for sp in s[1:]:
- n_i += 1
- if int(sp) < n:
- for i in range(n_i, 6):
- s[i] = str(n)
- return False, int("".join(s))
- n = int(sp)
- return (True,)
-
-def pt1(input):
- def containsDouble(num):
- s = str(num)
- amounts = [0 for _ in range(10)]
- for c in s:
- amounts[int(c)] += 1
- c = Counter(amounts)
- return c[0] + c[1] < 10
-
- amount = 0
- n = 357253
- while n < 892942 + 1:
- inc = isIncreasing(n)
- if inc[0] == True:
- if containsDouble(n):
- amount += 1
- n += 1
- else:
- n = inc[1]
- return amount
-
-def pt2(input):
- def containsDouble(num):
- s = str(num)
- amounts = [0 for _ in range(10)]
- for c in s:
- amounts[int(c)] += 1
- c = Counter(amounts)
- if c[0] + c[1] < 10:
- return c[2] >= 1
-
- amount = 0
- n = 357253
- while n < 892942 + 1:
- inc = isIncreasing(n)
- if inc[0] == True:
- if containsDouble(n):
- amount += 1
- n += 1
- else:
- n = inc[1]
- return amount
-
-if __name__ == "__main__":
- import cProfile
-
- cProfile.run("pt1([])")
- cProfile.run("pt2([])")
- print(pt1([]))
- print(pt2([]))