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