1
0
Fork 0
mirror of https://github.com/Findus23/AdventOfCode2019.git synced 2024-08-27 19:52:12 +02:00
AdventOfCode2019/python/4/day4.py
2019-12-05 15:58:22 +01:00

55 lines
1.2 KiB
Python

from collections import Counter
INPUT = "245182-790572"
def increasing_digit(number: int) -> bool:
prev = 0
for char in str(number):
if prev > int(char):
return False
else:
prev = int(char)
return True
def has_adjacent_digits(number: int) -> bool:
prev = None
for char in str(number):
if prev == char and prev is not None:
return True
else:
prev = char
return False
def has_adjacent_digits_that_arent_part_of_a_larger_group(number: int) -> bool:
stats = Counter(str(number))
for key, count in stats.items():
if count == 2:
return True
return False
def part1() -> int:
lower, upper = map(int, INPUT.split("-"))
validcount = 0
for pw in range(lower, upper + 1):
if increasing_digit(pw) and has_adjacent_digits(pw):
validcount += 1
return validcount
def part2() -> int:
lower, upper = map(int, INPUT.split("-"))
validcount = 0
for pw in range(lower, upper + 1):
if increasing_digit(pw) and has_adjacent_digits_that_arent_part_of_a_larger_group(pw):
validcount += 1
return validcount
if __name__ == '__main__':
print(part1())
print(part2())