|
|
@@ -0,0 +1,39 @@
|
|
|
+import os, argparse
|
|
|
+
|
|
|
+mapping = {'F': '0', 'B': '1', 'R': '1', 'L': '0'}
|
|
|
+
|
|
|
+def solve_task(filename):
|
|
|
+ highest = 0
|
|
|
+ occupiedSeats = []
|
|
|
+ with open(filename) as infile:
|
|
|
+ for raw_line in infile:
|
|
|
+ line = raw_line.rstrip()
|
|
|
+ rowRaw = line[0:7]
|
|
|
+ colRaw = line[7:10]
|
|
|
+ row = int(''.join([mapping[x] for x in rowRaw]),2)
|
|
|
+ col = int(''.join([mapping[x] for x in colRaw]),2)
|
|
|
+ id = row*8+col
|
|
|
+ #print(f"Row: {row}, col: {col}, id: {id}")
|
|
|
+ highest = max(highest, id)
|
|
|
+ occupiedSeats.append(id)
|
|
|
+ print(f"Highest: {highest}")
|
|
|
+ occupiedSeats.sort()
|
|
|
+ #print(occupiedSeats)
|
|
|
+ for i in range(len(occupiedSeats)):
|
|
|
+ k = occupiedSeats[i+1]
|
|
|
+ if occupiedSeats[i]+1 != k:
|
|
|
+ print(f"Sit the fuck down!: {occupiedSeats[i]+1}")
|
|
|
+ break
|
|
|
+
|
|
|
+def parse_arguments():
|
|
|
+ parser = argparse.ArgumentParser(description="Script that solves the case",epilog="Have a nice day!")
|
|
|
+ parser.add_argument('filename', nargs='?', default="example.txt", help='Input file')
|
|
|
+ args = parser.parse_args()
|
|
|
+ return args
|
|
|
+
|
|
|
+def main():
|
|
|
+ args = parse_arguments()
|
|
|
+ solve_task(args.filename)
|
|
|
+
|
|
|
+if __name__ == "__main__":
|
|
|
+ main()
|