mirror of
https://github.com/sstent/Advent2021.git
synced 2026-01-27 17:42:17 +00:00
first
This commit is contained in:
41
Day1_2/main.py
Normal file
41
Day1_2/main.py
Normal file
@@ -0,0 +1,41 @@
|
||||
from aocd import get_data
|
||||
from aocd import submit
|
||||
input_data = get_data(day=1, year=2021)
|
||||
|
||||
|
||||
|
||||
test_data = """199
|
||||
200
|
||||
208
|
||||
210
|
||||
200
|
||||
207
|
||||
240
|
||||
269
|
||||
260
|
||||
263"""
|
||||
|
||||
lines = input_data.split("\n")
|
||||
# lines = test_data.split("\n")
|
||||
|
||||
|
||||
count = 0
|
||||
window_list = []
|
||||
for index, value in enumerate(lines):
|
||||
if index <= len(lines) - 3:
|
||||
window = int(lines[index]) + int(lines[index + 1]) + int(lines[index + 2])
|
||||
window_list.append(window)
|
||||
|
||||
|
||||
for index, value in enumerate(window_list):
|
||||
if index != 0:
|
||||
if int(value) > int(window_list[index - 1]):
|
||||
print(str(index)+ ": " + str(value) + " + "+ str(window_list[index - 1]))
|
||||
# print("1")
|
||||
count += 1
|
||||
|
||||
print("Input length:" + str(len(lines)))
|
||||
print(count)
|
||||
print(window_list)
|
||||
|
||||
submit(count)
|
||||
2003
Day1_2/output.txt
Normal file
2003
Day1_2/output.txt
Normal file
File diff suppressed because it is too large
Load Diff
32
Day1_2/problem.txt
Normal file
32
Day1_2/problem.txt
Normal file
@@ -0,0 +1,32 @@
|
||||
--- Part Two ---
|
||||
Considering every single measurement isn't as useful as you expected: there's just too much noise in the data.
|
||||
|
||||
Instead, consider sums of a three-measurement sliding window. Again considering the above example:
|
||||
|
||||
199 A
|
||||
200 A B
|
||||
208 A B C
|
||||
210 B C D
|
||||
200 E C D
|
||||
207 E F D
|
||||
240 E F G
|
||||
269 F G H
|
||||
260 G H
|
||||
263 H
|
||||
Start by comparing the first and second three-measurement windows. The measurements in the first window are marked A (199, 200, 208); their sum is 199 + 200 + 208 = 607. The second window is marked B (200, 208, 210); its sum is 618. The sum of measurements in the second window is larger than the sum of the first, so this first comparison increased.
|
||||
|
||||
Your goal now is to count the number of times the sum of measurements in this sliding window increases from the previous sum. So, compare A with B, then compare B with C, then C with D, and so on. Stop when there aren't enough measurements left to create a new three-measurement sum.
|
||||
|
||||
In the above example, the sum of each three-measurement window is as follows:
|
||||
|
||||
A: 607 (N/A - no previous sum)
|
||||
B: 618 (increased)
|
||||
C: 618 (no change)
|
||||
D: 617 (decreased)
|
||||
E: 647 (increased)
|
||||
F: 716 (increased)
|
||||
G: 769 (increased)
|
||||
H: 792 (increased)
|
||||
In this example, there are 5 sums that are larger than the previous sum.
|
||||
|
||||
Consider sums of a three-measurement sliding window. How many sums are larger than the previous sum?
|
||||
Reference in New Issue
Block a user