2024 day 2
This commit is contained in:
parent
bbca6ab403
commit
17b720dcf8
86
2024/Day 2/gold.py
Normal file
86
2024/Day 2/gold.py
Normal file
@ -0,0 +1,86 @@
|
||||
with open('puzzle.txt', 'r') as f:
|
||||
lines = f.read().splitlines()
|
||||
|
||||
segmented_report = []
|
||||
|
||||
for line in lines:
|
||||
segmented_report.append([int(x) for x in line.split(' ')])
|
||||
|
||||
safe_reports = 0
|
||||
bad_reports = 0
|
||||
|
||||
for report in segmented_report:
|
||||
print(f'Loop began {report}')
|
||||
if report[0] > report[-1]:
|
||||
good_report = False
|
||||
for i in range(len(report) - 1):
|
||||
if 3 >= report[i] - report[i + 1] >= 1:
|
||||
good_report = True
|
||||
else:
|
||||
good_report = False
|
||||
break
|
||||
|
||||
if good_report:
|
||||
print(f'safe {report}')
|
||||
safe_reports += 1
|
||||
|
||||
else:
|
||||
for x in range(len(report)):
|
||||
if good_report:
|
||||
break
|
||||
temp_report = report.copy()
|
||||
temp_report.pop(x)
|
||||
for i in range(len(temp_report) - 1):
|
||||
if 3 >= temp_report[i] - temp_report[i + 1] >= 1:
|
||||
good_report = True
|
||||
else:
|
||||
good_report = False
|
||||
break
|
||||
|
||||
if good_report:
|
||||
print(f'safe {temp_report}')
|
||||
safe_reports += 1
|
||||
|
||||
else:
|
||||
print(f'bad {report}')
|
||||
bad_reports += 1
|
||||
|
||||
elif report[0] < report[-1]:
|
||||
good_report = False
|
||||
for i in range(len(report) - 1):
|
||||
if 3 >= report[i + 1] - report[i] >= 1:
|
||||
good_report = True
|
||||
else:
|
||||
good_report = False
|
||||
break
|
||||
|
||||
if good_report:
|
||||
print(f'safe {report}')
|
||||
safe_reports += 1
|
||||
|
||||
else:
|
||||
for x in range(len(report)):
|
||||
if good_report:
|
||||
break
|
||||
temp_report = report.copy()
|
||||
temp_report.pop(x)
|
||||
for i in range(len(temp_report) - 1):
|
||||
if 3 >= temp_report[i + 1] - temp_report[i] >= 1:
|
||||
good_report = True
|
||||
else:
|
||||
good_report = False
|
||||
break
|
||||
|
||||
if good_report:
|
||||
print(f'safe {temp_report}')
|
||||
safe_reports += 1
|
||||
|
||||
else:
|
||||
print(f'bad {report}')
|
||||
bad_reports += 1
|
||||
|
||||
else:
|
||||
bad_reports += 1
|
||||
|
||||
print(f'bad_reports {bad_reports}')
|
||||
print(f'safe_reports {safe_reports}')
|
46
2024/Day 2/main.py
Normal file
46
2024/Day 2/main.py
Normal file
@ -0,0 +1,46 @@
|
||||
with open('puzzle.txt', 'r') as f:
|
||||
lines = f.read().splitlines()
|
||||
|
||||
segmented_report = []
|
||||
|
||||
for line in lines:
|
||||
segmented_report.append([int(x) for x in line.split(' ')])
|
||||
|
||||
safe_reports = 0
|
||||
bad_reports = 0
|
||||
|
||||
for report in segmented_report:
|
||||
if len(report) != len(set(report)):
|
||||
bad_reports += 1
|
||||
pass
|
||||
|
||||
elif report[0] > report[-1]:
|
||||
good_report = False
|
||||
for i in range(len(report) - 1):
|
||||
if 3 >= report[i] - report[i + 1] >= 1:
|
||||
good_report = True
|
||||
else:
|
||||
good_report = False
|
||||
bad_reports += 1
|
||||
break
|
||||
|
||||
if good_report:
|
||||
print(report)
|
||||
safe_reports += 1
|
||||
|
||||
elif report[0] < report[-1]:
|
||||
good_report = False
|
||||
for i in range(len(report) - 1):
|
||||
if 3 >= report[i + 1] - report[i] >= 1:
|
||||
good_report = True
|
||||
else:
|
||||
good_report = False
|
||||
bad_reports += 1
|
||||
break
|
||||
|
||||
if good_report:
|
||||
print(report)
|
||||
safe_reports += 1
|
||||
|
||||
print(f'bad_reports {bad_reports}')
|
||||
print(f'safe_reports {safe_reports}')
|
1000
2024/Day 2/puzzle.txt
Normal file
1000
2024/Day 2/puzzle.txt
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user