From 00ceae21bd2de413a8ca7cc3ea978fd52cba8c80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Wed, 4 Dec 2019 07:13:43 +0100 Subject: Day 4 py --- solutions/py/04-1.py | 30 ++++++++++++++++++++++++++++++ solutions/py/04-2.py | 31 +++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 solutions/py/04-1.py create mode 100644 solutions/py/04-2.py diff --git a/solutions/py/04-1.py b/solutions/py/04-1.py new file mode 100644 index 0000000..23096ec --- /dev/null +++ b/solutions/py/04-1.py @@ -0,0 +1,30 @@ +from collections import Counter + +def containsDouble(num): + s = str(num) + amounts = [] + for n in (0,1,2,3,4,5,6,7,8,9): + amounts.append(s.count(str(n))) + c = Counter(amounts) + return c[0] + c[1] < 10 + +def isIncreasing(num): + s = str(num) + n = int(s[0]) + for sp in s[1:]: + if int(sp) < n: + return False + n = int(sp) + return True + +if __name__ == "__main__": + amount = 0 + for n in range(357253, 892942 + 1): + if containsDouble(n): + if isIncreasing(n): + print(n) + amount += 1 + if n % 10000 == 0: + pass + # print(n) + print(amount) diff --git a/solutions/py/04-2.py b/solutions/py/04-2.py new file mode 100644 index 0000000..582df1a --- /dev/null +++ b/solutions/py/04-2.py @@ -0,0 +1,31 @@ +from collections import Counter + +def containsDouble(num): + s = str(num) + amounts = [] + for n in (0,1,2,3,4,5,6,7,8,9): + amounts.append(s.count(str(n))) + c = Counter(amounts) + if c[0] + c[1] < 10: + return c[2] >= 1 + +def isIncreasing(num): + s = str(num) + n = int(s[0]) + for sp in s[1:]: + if int(sp) < n: + return False + n = int(sp) + return True + +if __name__ == "__main__": + amount = 0 + for n in range(357253, 892942 + 1): + if containsDouble(n): + if isIncreasing(n): + print(n) + amount += 1 + if n % 10000 == 0: + pass + # print(n) + print(amount) -- cgit v1.2.1