Passed
Push — main ( c77b04...664615 )
by Yohann
55s
created

main.day_1_part_2()   A

Complexity

Conditions 1

Size

Total Lines 2
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nop 1
dl 0
loc 2
rs 10
c 0
b 0
f 0
1
import os
2
import pathlib
3
from typing import Tuple
4
5
6
def _count_larger_sum(first_seq: Tuple[int, ...], offset: int) -> int:
7
    return sum(x < y for x, y in zip(first_seq, first_seq[offset:]))
8
9
10
def day_1_part_1(data: Tuple[int, ...]) -> int:
11
    return _count_larger_sum(data, 1)
12
13
14
def day_1_part_2(data: Tuple[int, ...]) -> int:
15
    return _count_larger_sum(data, 3)
16
17
18
def main():
19
    content = pathlib.Path('./input.txt').read_text()
20
    data = tuple(map(int, content.splitlines()))
21
22
    print("Part 1:", day_1_part_1(data))
23
    print("Part 2:", day_1_part_2(data))
24
25
26
if __name__ == '__main__':
27
    main()
28