From 529c482d613172b7442dfe1f79358b6f3d34bad5 Mon Sep 17 00:00:00 2001 From: Ettore Dreucci Date: Sat, 5 Dec 2020 11:30:09 +0100 Subject: [PATCH] AoC 2020: day5 Signed-off-by: Ettore Dreucci --- 2020-python/inputs/day_5 | 869 +++++++++++++++++++++++++++++++++ 2020-python/solutions/day_5.py | 44 ++ 2 files changed, 913 insertions(+) create mode 100644 2020-python/inputs/day_5 create mode 100644 2020-python/solutions/day_5.py diff --git a/2020-python/inputs/day_5 b/2020-python/inputs/day_5 new file mode 100644 index 0000000..34edaca --- /dev/null +++ b/2020-python/inputs/day_5 @@ -0,0 +1,869 @@ +FFFFBBBRLR +BFBBFBFRRR +FFBFBBFRRL +BFBFBBFRRR +BFBBFFFLLR +FFFBFFFRRL +BFFBFFFLLL +BFFBFFFRRL +FFBBFBBLRR +BBFBBFBLLL +BFFFFBFRRL +BFFFBFBLLR +BBFFBFFRLR +BFBFBBFLLR +BBFBFBFRLR +BBFFBFFRRL +FBFFFBFLRL +BFFFBBFLLL +FBFFFFFLLR +FBFFFBFLRR +BFBFBFBLLR +BFBBBFFRLR +FBBBFFFLRR +BBBFFFFLRL +FBBFFFFLRR +BFFFBFBRLL +BFBBBBBLLL +BBFBFBFRLL +FFBFBBBRRR +FBBBFBBLRL +BFFBFBFRRR +BBFFBFBRLR +FBFFFFBRRR +FBFBBFBLRR +BBBFFFBLLL +FBFFBBFLLL +FBFBBBBLRL +BFBFBFBLRL +BFBFFBFLLL +FBBBBFFRRR +BFBFFBBRLL +FFBFBBFLRL +BFBBBFFLLR +FBFFBBBLRL +BFBBBFFRRR +FFFBFBBLLR +FFBBFFBRLL +BFFBBFBRLL +BFBBFBBLRR +BFFFFBBRRL +FFFBBFFLLR +FBFBBFFLRL +FFFBFBBRLL +FBBBFBFLRL +BFFFBBBRLL +FFBFBFBLLR +FBFBFFBLRL +FBBFBFBLLL +FFFBBBBLLL +BFFBBBFRRL +BFFFBBBRRL +BBFBBBBRLR +FFBFBBBRRL +FFFBFFFLRR +BFFFBBBLRL +BFBFFBBRRL +BBBFFFBLRL +FFFBFFBLLL +BFBFFBBLLL +BFBBFBBRLR +FFFBFFBLLR +BBFBFFFLRR +BFFFFBFRRR +BBFBBFBLRR +BFFFFFBRRL +FFFFBBBLRR +BBBFFFBLLR +BBFFFBFRRL +BFFBFBBRLL +BBFFBFFRLL +FBBBFFBLRR +FFBBFBBRLR +FFBBBBFLLL +BBFFBBBRRR +FBBBFFBLLR +BFBFFFBLLR +BBFBFFFRRR +BFBBBFFLRL +FBBBFFBRLL +BFBBFBFLLR +FFFBBFBLLR +BFBFBFBRRR +BFBBFBFRRL +FBFBFBBLLL +FFBBBBFRRL +BFBFBBBLLR +FBFBFBFRLL +BFFBFBBRLR +FBBFFFBRRR +BFFBBFFRRL +BBFBFBFLRL +FBFBBFBRRL +FFBBFFBRRR +FBBBFBBRLL +FBBBBBBRLL +BFFFFBBLLL +BBBFFFBRLR +BBFBBBBLRR +FBFFBBBLRR +BBFFFFBLRR +BBFFBFBLLR +BFFBBFFRLR +FFFFBBBRLL +BFFBBBBRRR +BFBFFFFLLR +FBBBBFBRLR +FBBFBFFLRR +FFBBBFFRLL +BFFBBBBLRR +FFBBBFBRRL +BBFFBFFLRL +BBFFFFFRLL +BFFBFBFLRR +FFBBBBFLLR +FFBFFBFLLR +BFFBFFFLRL +BBFBBBFRLR +FFBBFFBLLL +FBBBFBFRLL +BBFBBBFLLR +FFFBBBFLRL +FBFBBBBLLL +FBFBFBFLRR +BBFBBBFLRL +FFBFBBBLLR +FFBBBFBRLR +FBFBFBBRLR +FBFBFFBRLR +BBFBFBFLRR +FBBBBBBLLR +BFFBFFBRLR +BFBFFBFLRR +FFFBBBFRLR +FFFBBBBRLL +BBBFFFBRRL +BBFFFFBRLL +BFBBBFFRRL +FBFFBBBLLR +BFBBBFBLLL +FBFFBBFRLR +FBBBBFFRRL +BBFFBBFLRL +BFFBBFBLRR +BBFBFFFRRL +FFBBFFFLLL +FBBFFFBRLR +FFBFBFFLLR +FFBBBBFRRR +FBBBFBBLLR +BFBFFFFRRR +FFBBFBBRLL +FBFFFBFRLR +FBFFBFFRRL +BFFFFBBLRL +BFBFBFFRRR +BFFBBFFLRR +BBFFFFFRRL +FFFBBFBRRL +BFFFBFBRLR +BFBBBBFLLL +BBFBBBFRRL +FFFBBBFRLL +FBFFFFBRLL +BBFFBFBRRL +BFFFBFFLRL +FBBFBBFRRL +BFBFFBBRLR +FFFBBFFLRL +BFBFFBBLRR +BFBFFFBRLR +FBBFBBBLRR +BBBFFFBRRR +FBBBFFBRRL +FBFFBFBRLR +BFFFFFFLLL +BFFBFFFRLR +FFBFBFFLLL +BFBBBBBRLR +BFBBFFFLLL +BFFBBBBRLL +BFBFFFBRRL +BBFFBBBLRL +FBFFBBFLRR +FBBBFFFLRL +BFBFFFBRLL +FBFFFBFRLL +BFFFBFFRLR +FFFBBBFLLR +BBFFBFBLLL +FBBFFBBRLR +BBFFFFBRRR +FBBBBFFLRR +BFFBFBFRLR +BBFBFBBLRR +BFBBFFBRLR +FBBBFFBLRL +FBBFFFBRLL +BFBFBBFLRR +FBBBBFBLRR +FBFBBFBRLR +FBFFFBBRRR +FBBFBFFLLR +FBFFBFBLRR +BFFBFBBRRL +FBBFFFBLLR +FBFFBBBRRR +BFFBBBBLLR +BBFFBFFLLL +BBFBBBFRRR +BBFFBBBLLL +BBFBBFFRRR +BFBFBBFRRL +BFFFBFBRRL +BBFBFBBLLL +BFBBBFBRLL +BBFFFBBRRR +BFFFBBFRLL +BFBBFBBRRR +BFFFBBFRRR +BFFBFFBLLR +BBFBBFBLRL +BFFFFFBLRR +FFBFBFBLRR +BFBBBFBLRR +FBFFBFFRLR +BFBBBFFLRR +FFFBFBFLLL +FFBBBBFRLL +FFBBBFFLLR +FFBBBBBLRL +FBFBFFBRLL +FFBBBFBRLL +FBFFBBBRLL +FFFBBFBLRR +BBBFFFBLRR +BFFBFFBLRL +FBBFFFFRLL +FBFFBFBRLL +BBFFFFBRLR +FFBBBFBLRL +FBFFFFBLLR +FBBBFBBLLL +FBBFBFFRRR +BBFFFBFRLR +FBFFFBFLLL +BBFBFFFLLR +BBFFBBBRLL +BFFBFFFRLL +FBFBBFFRLR +BBFBBBFLLL +FFBFFFFRRR +FBBFFBFLLL +BFFFBFFLRR +FFFBBFBRRR +FFBBBBBLRR +FBFBFBFRRL +BFBBFBFRLL +BBFBFBBLLR +FBFFFFFRRL +FFBBFBBRRL +BFBBFFBLLL +BBFBFBFRRR +FFBBBBFLRL +FFBBFBBLLL +FFFBFBBRRL +BFFBFBBRRR +BBBFFFFRLL +BFFBFBFLRL +FBBFBFBRRL +FFFBFBBRRR +BFBFBFFLLR +FFBBFFBRLR +BBFBBBFLRR +BFFBBFFLLR +FFBFFFFLRR +BFBFFBBLLR +FFBFFFFRLL +FFFBBBBRLR +FFFBFFBRRL +FBBFBFBRLR +FBFBFFBLLR +FFFBBBFLLL +BFBBBFFLLL +FBBFBFBLLR +FBBBBFBLLR +FBBBFBFRRR +BFFBFFBRRL +BBFFFFFRLR +BFFBFFFRRR +BFFBBFBRLR +FFBBBFFLRL +BBFFBFFRRR +FBFFFFFRRR +FFFFBBFLLL +BFFBBBBLLL +FFBFBFBRLR +FBBFFBBLRR +FFFBBFBLRL +BBFBBBBLLL +BFBBBFFRLL +BFFBBFBLLL +BBFFBFFLLR +BBBFFBFLLL +BBFBFBFLLL +FBBFFFFLLR +BBBFFFFRRR +FFBFBFBLLL +FBFBFFFRLR +BBFBFBBRRR +FBFFFFBLRR +BFBBBFBRLR +BBBFFBFLLR +FFBBFBFRLL +FBFBBFBLLR +BBFBFFBLLL +FFFBFBBLRL +FFBBFFFRLL +FFFBFFBRLL +FFFFBBFLRL +BFFFBFFRRR +BFBBFBBRLL +BFFBBFBRRR +BFFFFFFLLR +BFFBBFFLLL +FFFBFBFRLR +FFBBBBBLLL +FBBFBBBRRR +BFBFBFFRRL +FBFBBBFLRR +FBFFFBBRLR +FBBFBFBLRL +FBFBBFFLRR +FBBFFBFRLR +FFBFFBBLLR +FFFBBFFLLL +FFBFBFFRLL +BFFFBBFLLR +FBBFFBFRLL +FBBBBBFRLR +FBFFBBFRRR +FBBBBBFLLL +FFFBBBBLLR +BBFBFFFRLR +FBFBFFFLRL +FFBBBBFRLR +FFBFFBBRRR +BBFBFFBRLR +FBBBBFFLLL +FFFBBBBRRR +FFBBFFBRRL +FFFBBBBRRL +FBFFFBBLLL +BFBFFBBRRR +BFFBFFFLLR +BBFFFBFLRR +FFBBBFBLRR +FFBFFBBRLR +BFBFFBFRLL +FBBFBBBLLR +FFBBBBBRRL +FBBFBFBRLL +FBFBFBFLLR +FBBBFBFLLL +BBFBBFFRLR +BFFFFBFRLR +FBBFFBBRRR +FBBFFBFLLR +BFBFBFBRLL +FFFBFFBLRL +FFBBFFFRLR +FFFBBFFRLL +BFBFBBBRLR +FBFFFFFLRR +FBBBFFFLLL +FBFFFBBLLR +FBFBFBFRLR +FBFBFFBLRR +FFBFBBFRLL +FBBBBFFLLR +FFFBFBFRLL +FFFBBBFLRR +BFBBFFBLLR +FBFFFFBLRL +BFBBFBFRLR +FBFBFFFRLL +BFBFFBFLRL +BBFFBFFLRR +FFBFFBFRLR +FFBFFFBLRR +FFFBBFFLRR +BFFFFBFLRL +BFFBBBFRLL +FBFBBFBLRL +BFFBBBBLRL +BFFFFBBLLR +FBBBBBBRLR +FBFFFBFLLR +BFFBBFFLRL +FBFBBFBRLL +FFBBFFBLLR +BBFBFBFRRL +FFBFFBBRLL +BBFFFFFLLR +BFBFFFFLRL +FBBBFBBRRR +FFFFBBFRRR +BFBBFFFRLR +FBFFFFBRRL +BFFFFFFRRL +BFFFBFFRLL +FBBBFFBRLR +BFBFBBFRLL +BFBFFFBLRL +BFFBFBBLLR +FFFFBBFRRL +BFBBFFBRLL +FBFBBBFRLL +FFBFFFBRLR +BFBFFFFRLR +BBFBFBFLLR +FFBFFBBRRL +BBFBBFBLLR +BBFFBFBRLL +FFBBBBBRLL +FFFBBFBLLL +FBFFBBBRLR +FBBFBBFLRR +BBFFFBBLLR +FBBFBFBRRR +BFBBFFBRRR +BFBFFFBRRR +BBFFFFFLLL +BBFBBFBRRL +FBFFBFBLRL +BFBBFFFRRR +FBFFFFBLLL +BBFBBFFRLL +BFFBBBFRLR +FBBFFBFLRR +FBFBFFFLRR +BFBBFFBLRL +FBBFBBBRLL +BFBFBFBRLR +FFFBFFBLRR +FFBFFFBLRL +FBFBFBBRRL +FBFFFFFRLL +BFBBBBBRLL +FBBFBBFLLL +BFBFFFBLRR +BBFFBBBLLR +BBFBFFBRRL +FBBBBFFRLL +BFFFFFBLRL +FFBFFFFRLR +FBBFFFBLRR +BFBBBBBLRL +BFFBFFBLRR +FFBFBBBLRR +BFFFBBBLRR +FBFBFBFLRL +BBFBBFBRLR +FBBFFFFRRL +FBBBBBFLLR +FFFBBBFRRL +FFBFBBBLRL +FFBBBFFRLR +FBFBFBBRLL +FBFFFBBLRL +FFBBBFFRRL +BFBBBBFRLL +BBFFFBFLLR +FFBFFFFRRL +FFBFBFFLRR +FFBFBBFLLR +BFBFFBBLRL +BBFFBFBLRL +FBBFFFBLLL +FBBBFFFRLL +FFBFFBFRLL +FFFFBBFRLL +FBFFFFFLLL +BFFFBBFLRL +FFBBBFFLLL +FBFBBFFRRL +FBFFBFFLLR +FBBBFBFLLR +FFBFFFBRRL +BFBFFFFRRL +BBFFBBBRRL +FFBBFBFRLR +FBFFBFBLLR +BFBFBFFRLL +FBFFBFFLRL +BBFBBBFRLL +BFFBBFFRLL +FFBBFBBLLR +BBBFFFFRRL +FBBBFFFRRL +BFBFBBFLRL +FBBFBBFLRL +FBBBBFBRRR +BBFFFBBLRL +BBFFBBFRRL +BBFBFFBLRL +BFFFBBBRRR +BBFFBBFRLL +FBBBFFBRRR +FFBBFFFLRL +BFFFFFFRLL +BFBFBFFLRR +BFFBBBFLLL +BFBFFBFLLR +BBFBBFFLLL +FFBFFBFLLL +BFFFBFFLLR +FFBFBBBLLL +BBFBFFBRLL +FBFBBBBRLL +FFBBBBFLRR +FFFBFBBLLL +FBFBBFFRRR +FBFFBFFLLL +BBFFFBFLLL +BBBFFFFLLL +BFFFFBBRLR +BFBFFBFRLR +BBFFBBBLRR +FFBBFFFLLR +FBBBFBBRRL +FFBBBFBRRR +FFBFFFBLLR +FBFBBBFLLL +FFBBFBFRRR +FFBFFBFLRL +BBFBFFBRRR +BFBFBBFLLL +BFFBBBFLRR +FBBFFFBLRL +BBFFBBFRLR +FBBBBFFLRL +FBBFBFFRRL +BBFFBBFLRR +BFFFFFBRLL +FBBBFBFRRL +FBFBFFFRRL +BBFFFBBLLL +FBFBBBFLLR +BBFBFBBRLR +FFBFFBFRRL +BFFFFBBRLL +FBBFBBFRRR +FBFFBFFRRR +FBFBBBBRLR +BBFBBFFLRR +BFBBFBBRRL +BBFFBFBLRR +BBFFFFFLRR +BFFBBBBRLR +BBFFFBFLRL +FFFFBFBRRL +BFBBFBFLLL +FBFBBFFLLL +BFBBBBFRLR +BFFFBFBLLL +FBFBBBFRRL +FBFBFFFRRR +FFBFFFBRRR +FFBBFBFRRL +FFFBFFFLLR +BBBFFFFLLR +FFBFBBBRLL +FBBFBFBLRR +BFFBFBFLLL +FBBFBBFRLR +FBFBFFBLLL +FFFFBBBRRR +FBBFFBBLLL +FBFFBFFRLL +BBFBFFBLRR +BFFBFFFLRR +BFBBBBFRRL +BFFFBBBLLL +BFFBBBFRRR +FFBFBBFRLR +BFBBFFFRLL +FFBBFBFLRL +FFBFBFFRLR +FBBBBBBLLL +FBBFFBFLRL +FFFBFBFLRR +BFFFFFFLRL +FBBBBFBRRL +BFBFBFBLLL +FBBFBBBRLR +BFFFFBBLRR +BBFFFFBLLL +FFFBBBBLRL +FBFBFBBLRR +BFBBFBBLLR +BBFFFBBRRL +BBFBBBBRLL +FFBBBFFLRR +FBFFFBBRLL +BBFFFBBRLL +BFFBBFBRRL +FFFBBFFRRL +BFFBBBBRRL +BFFFFBFLRR +FFBBFBBLRL +BFBBBBBLLR +BFBBFBBLLL +BFFFBFBLRR +FBBBBFFRLR +FBBFFFFRRR +BFBBBBBRRL +BBFFFBBRLR +FFBBFFBLRR +BBFBFBBLRL +FBFFBBFLRL +FFBBFBFLLR +BFFFFFBRLR +BFFBBBFLLR +BFBBFBBLRL +FFFBFFBRRR +FBBFBBBRRL +BFBFFBFRRL +FBFBBBBLRR +FBBFBBBLLL +FFBBFBFLRR +BBFFBBFLLL +BFFFBBFRLR +BFBBBFBRRR +BFBFFFBLLL +BBFFBBFLLR +FBFBBBBRRL +FFFBFBBRLR +FBFBBBFRLR +FFFBFFFRRR +FFFFBBFLLR +BFFFFBFLLR +FBBBFBFLRR +BBFBFFFRLL +FBBBFBFRLR +BFBFFFFRLL +BBFFFFBLRL +FFBBFFBLRL +FFFBFBFLLR +FBBFFFFLLL +FBBFBFFLRL +BFFFFBFRLL +BBFFFFBRRL +BFFBFFBRRR +BFFFFFFLRR +BFBFBFBRRL +FBFFBBFRLL +FFFFBBBLLR +BBFBFBBRRL +FFFBBBBLRR +FFBBFBBRRR +BFBFBFFLRL +FBBBBBFRLL +BFBBFFBRRL +BFBBBBBRRR +FBBFBFFLLL +BFBFBFFLLL +BFFBBFBLLR +BFBFFFFLLL +BBFFFBBLRR +BFBBFFFRRL +FFBFBFFRRL +FFFBFBFRRR +BBFFFFBLLR +BFFFFFFRRR +FFFFBBBLRL +FBFFBBBRRL +FBFBFBFRRR +BFBFBFBLRR +FFFBFBBLRR +FBBFBBFLLR +FBFBFFFLLL +BFBFBBFRLR +FFFBBFFRRR +BFFFBFBLRL +FBBBBBBRRR +FBBBBBFRRL +BBFFBFBRRR +FBFBBFFRLL +FFFBFFBRLR +BBFFFBFRRR +FBBBFFFRRR +BBFBBFFLLR +FBBFFBFRRR +FFFBFFFLRL +FFBFFFBLLL +FFBFFBFLRR +BFFFBFBRRR +BFBFBBBLRL +BFBFBFFRLR +BBBFFBFLRR +BBBFFFFLRR +FBFBFBFLLL +BFFBFBFLLR +FBBBFFFRLR +FFBBFFFLRR +FBBBFFFLLR +FBBFBFFRLL +BBFFBBFRRR +FBBFFBBLRL +FBFFFFBRLR +FBFBBFFLLR +FBBBBBFRRR +FFBBBBBLLR +FBFBBBBRRR +FFFBBFBRLR +FBBFFFBRRL +FBFFFBFRRL +FBFFBBFLLR +FFBFBBFLLL +FBFBFBBRRR +BFFFBBFRRL +FFBFFBBLLL +FBBFFBBLLR +FFBFFFBRLL +FBBFBBFRLL +BFBFFFFLRR +FFFBFBFRRL +FFBFBFFLRL +BBFBBBBLLR +BFFBFBBLRR +FBFBFFBRRL +FBFBBBFLRL +FBBBBFBRLL +BBFBBBBRRL +BFFFFFBRRR +FFBBBFFRRR +FFBFBFFRRR +FBFBFBBLLR +FBFBFFFLLR +FBFFFBBRRL +BFFBBFBLRL +FBBBFFBLLL +FFFBFBFLRL +BFFFBFFLLL +BBFBFBBRLL +BFFBFBBLRL +BFFBBBFLRL +BBFBFFFLLL +FFBFBBFRRR +FFFBFFFRLL +FBBBFBBRLR +BBFFFFFRRR +FFBFBFBRRL +BFFFFFFRLR +FBFFBBFRRL +BFFFFBFLLL +FBBBBBFLRR +BBFBBBBLRL +BFBBFFBLRR +BFBFBBBLLL +FBBFBBBLRL +FBBBBBBLRR +FBFFBFBRRL +FBFFFBBLRR +FFFBFFFRLR +FFBBBFBLLL +FBFBBFBLLL +BFBFBBBRLL +BFBBBBFRRR +FFBFFFFLLL +BFBBFFFLRL +FBBFBFFRLR +BBFBBFBRLL +FFFBBBFRRR +FFBFBFBLRL +BFBBBBBLRR +FFFFBBBRRL +FBFFFBFRRR +BFFBFBFRLL +BFBFBBBRRR +FBFFFFFLRL +FBFFBFBRRR +BFBBFBFLRR +FBFBFBBLRL +BFFFFBBRRR +BFBBFFFLRR +FFBFFBBLRR +FFBBFBFLLL +FFFFBBBLLL +FFBFFFFLLR +BFBBBBFLRR +FBFFBBBLLL +BFFFFFBLLL +FFBBFFFRRR +BBFBFFFLRL +FBBBBBBLRL +FBBBBFBLLL +FFBFBFBRRR +FBFFBFBLLL +BFBBBFBLLR +FBFFBFFLRR +BFFFFFBLLR +FFFBBFFRLR +BFBBBFBLRL +BFFBFFBRLL +FFBFFFFLRL +FFBBBBBRLR +FFBFFBFRRR +BFBFFBFRRR +BBBFFFBRLL +BBFFFFFLRL +FFFBBFBRLL +FBBBBBFLRL +BFBFBBBRRL +FFBFFBBLRL +BBFBBFFRRL +FBFBBBBLLR +BFFFBBBRLR +BBBFFFFRLR +FFBFBBFLRR +BFFFBBBLLR +FBBBBFBLRL +FFFFBBFLRR +FBFBBFBRRR +FBFBBBFRRR +BFFBFFBLLL +FBBBBBBRRL +FFBBFFFRRL +BBFBFFBLLR +FBBFFFFRLR +FBBFFBBRLL +BFBBBBFLLR +BBBFFBFLRL +BBFFBBBRLR +BFBBFBFLRL +FFBBBFBLLR +FFFFBBFRLR +FBBBFBBLRR +BBFBBFFLRL +BBFBBBBRRR +BFFFBFFRRL +BFFBBFFRRR +FFBFBFBRLL +FFBFBBBRLR +FBBFFBFRRL +FBBFFFFLRL +FBBFFBBRRL +BFFBFBFRRL +FFFBFFFLLL +FBFFFFFRLR +BFBBBBFLRL +FFFFBFBRRR +BFFFBBFLRR +BFBBBFBRRL +BBFBBFBRRR +BBFFFBFRLL +BFFBFBBLLL +FBFBFFBRRR +FFBBBBBRRR diff --git a/2020-python/solutions/day_5.py b/2020-python/solutions/day_5.py new file mode 100644 index 0000000..b3a9c31 --- /dev/null +++ b/2020-python/solutions/day_5.py @@ -0,0 +1,44 @@ +"""AOC Day 5""" + +import pathlib +import time + +def read_input(input_path: str) -> list: + """take input file path and return appropriate data structure""" + with open(input_path, 'r') as input_file: + entries = input_file.readlines() + seats = list() + for entry in entries: + entry = entry.strip() + row = ''.join(['0' if letter == 'F' else '1' for letter in entry[:7]]) + column = ''.join(['0' if letter == 'L' else '1' for letter in entry[-3:]]) + seat = int(row, 2) * 8 + int(column, 2) + seats.append(seat) + seats.sort() + return seats + + + +def part1(entries: list) -> int: + """part1 solver take a list of strings and return an int""" + return max(entries) + + +def part2(entries: list) -> int: + """part2 solver take a list of strings and return an int""" + missing = [seat for seat in range(entries[0], entries[-1]) if seat not in entries] + return missing[0] + +def main(): + """main function""" + input_path = str(pathlib.Path(__file__).resolve().parent.parent) + "/inputs/" + str(pathlib.Path(__file__).stem) + start_time = time.time() + entries = read_input(input_path) + print("Part 1: %d" % part1(entries)) + print("Part 2: %d" % part2(entries)) + end_time = time.time() + print("Execution time: %f" % (end_time-start_time)) + + +if __name__ == "__main__": + main()