Advertisement
ralig

Advent Of Code 2020 Day 5 Part 2

Dec 5th, 2020
742
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.84 KB | None | 0 0
  1. import math
  2. from pathlib import Path
  3. path = Path(__file__).parent / "../../input.txt"
  4.  
  5. def FindRowOrCol(minSeatNum, maxSeatNum, info):
  6.     if info == "":
  7.         return minSeatNum
  8.     elif (info[0] == "F") or (info[0] == "L"):
  9.         info2 = info[1:]
  10.         return FindRowOrCol(minSeatNum,((minSeatNum+maxSeatNum)//2),info2)
  11.     elif (info[0] == "B") or (info[0] == "R"):
  12.         info2 = info[1:]
  13.         return FindRowOrCol(math.ceil((minSeatNum+maxSeatNum)/2),maxSeatNum,info2)
  14.    
  15.  
  16. Seats = []
  17. with path.open("rt") as f:
  18.     data = "a"
  19.     while(data):
  20.         data = f.readline().replace("\n","")
  21.         row = FindRowOrCol(0, 127, data[:-3])
  22.         col = FindRowOrCol(0, 7, data[-3:])
  23.         Seats.append((row*8)+col)
  24.  
  25. Seats.sort()
  26. for x in range(1,len(Seats)-1):
  27.     if ((Seats[x] + 1) != Seats[x+1]):
  28.         print(Seats[x]+1)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement