-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathday2.py
26 lines (19 loc) · 851 Bytes
/
day2.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
from utils import read_lines
import re
numOfValidPasswords = 0
numOfValidPasswords2ndPolicy = 0
regex = re.compile(r"(?P<minTimes>\d+)\-(?P<maxTimes>\d+) (?P<character>\w)\: (?P<password>\w+)")
for x in read_lines(2):
parsed = regex.match(x)
minTimes = int(parsed.group('minTimes'))
maxTimes = int(parsed.group('maxTimes'))
character = parsed.group('character')
password = parsed.group('password')
numOfCharInPassword = len(re.findall(f"{character}", password))
# print(f"{minTimes} {maxTimes} {character} {numOfCharInPassword} {password}")
if minTimes <= numOfCharInPassword <= maxTimes:
numOfValidPasswords += 1
if (password[minTimes - 1] == character) ^ (password[maxTimes - 1] == character):
numOfValidPasswords2ndPolicy += 1
print(numOfValidPasswords)
print(numOfValidPasswords2ndPolicy)