Day 5
This commit is contained in:
		
							
								
								
									
										57
									
								
								day5/day5.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								day5/day5.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,57 @@ | ||||
| with open("day5/day5.txt", "r") as f: | ||||
|     file = f.read() | ||||
|  | ||||
| rows = file.split("\n") | ||||
|  | ||||
| i = 0 | ||||
| columns = {} | ||||
| # put innitial crates to a dictionary | ||||
| for row in rows: | ||||
|     split = row.split(" ") | ||||
|     if "1" in split: | ||||
|         break | ||||
|     empty = 0 | ||||
|     cols = 1 | ||||
|     for col in split: | ||||
|         if col == "": | ||||
|             empty += 1 | ||||
|             if empty == 4: | ||||
|                 empty = 0 | ||||
|                 # if columns.get(cols, None) is None: | ||||
|                 #     columns[cols] = [col] | ||||
|                 # else: | ||||
|                 #     columns[cols].append(col) | ||||
|                 cols += 1 | ||||
|             continue | ||||
|         if columns.get(cols, None) is None: | ||||
|             columns[cols] = [col] | ||||
|         else: | ||||
|             columns[cols].append(col) | ||||
|         cols += 1 | ||||
|     i += 1 | ||||
|  | ||||
| for i in columns: | ||||
|     columns[i].reverse() | ||||
| moveList = [] | ||||
| instructions = rows[i+1:] | ||||
| for row in instructions: | ||||
|     if row == "": | ||||
|         continue | ||||
|     split = row.split(" ") | ||||
|     move = int(split[1]) | ||||
|     move_from = int(split[3]) | ||||
|     move_to = int(split[5]) | ||||
|     for _ in range(int(move)): | ||||
|         moveList.append(columns[move_from][-1]) | ||||
|         columns[move_from].pop() | ||||
|     for _ in range(int(move)): | ||||
|         columns[move_to].append(moveList[-1]) | ||||
|         moveList.pop() | ||||
|  | ||||
| res = "" | ||||
| for i in range(1, len(columns)+1): | ||||
|     print(i) | ||||
|     res += columns[i][-1] | ||||
|  | ||||
| print(res.replace("[", "").replace("]", "")) | ||||
| print(columns) | ||||
		Reference in New Issue
	
	Block a user