Made code sleeker :)
This commit is contained in:
parent
ecfff8354f
commit
234a7cacd3
2 changed files with 18 additions and 32 deletions
|
@ -1,9 +1,11 @@
|
||||||
import sys
|
from halo import Halo
|
||||||
from tqdm import tqdm
|
from argparse import ArgumentParser
|
||||||
|
|
||||||
def main(input):
|
spinner = Halo(text="Blinking all the stones", spinner="dots")
|
||||||
|
def main(input, iterations):
|
||||||
|
spinner.start()
|
||||||
input_list: list = input.split(" ")
|
input_list: list = input.split(" ")
|
||||||
for i in tqdm(range(25)):
|
for _ in range(iterations):
|
||||||
new_stones = []
|
new_stones = []
|
||||||
for num in input_list:
|
for num in input_list:
|
||||||
if num == '0':
|
if num == '0':
|
||||||
|
@ -17,9 +19,18 @@ def main(input):
|
||||||
else:
|
else:
|
||||||
new_stones.extend([str(int(num)*2024)])
|
new_stones.extend([str(int(num)*2024)])
|
||||||
input_list = new_stones
|
input_list = new_stones
|
||||||
print(len(input_list))
|
return len(input_list)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
input_text = sys.stdin.read().strip()
|
args = ArgumentParser(
|
||||||
main(input_text)
|
prog="Advend of Code Day 11",
|
||||||
|
description="Solves the puzzle for day 11"
|
||||||
|
)
|
||||||
|
args.add_argument("-p", "--part")
|
||||||
|
args.add_argument("-f", "--file")
|
||||||
|
args = args.parse_args()
|
||||||
|
input_text = open(args.file, 'r').read()
|
||||||
|
iterations = 25 if args.part == "1" else 75 if args.part == "2" else None
|
||||||
|
answer = main(input_text, iterations)
|
||||||
|
spinner.succeed(str(answer))
|
|
@ -1,25 +0,0 @@
|
||||||
import sys
|
|
||||||
from tqdm import tqdm
|
|
||||||
|
|
||||||
def main(input):
|
|
||||||
input_list: list = input.split(" ")
|
|
||||||
for i in tqdm(range(75)):
|
|
||||||
new_stones = []
|
|
||||||
for num in input_list:
|
|
||||||
if num == '0':
|
|
||||||
new_stones.extend(["1"])
|
|
||||||
elif len(num) % 2 == 0:
|
|
||||||
half = len(num) // 2
|
|
||||||
left_half = str(int(num[:half]))
|
|
||||||
right_half = str(int(num[half:]))
|
|
||||||
|
|
||||||
new_stones.extend([left_half, right_half])
|
|
||||||
else:
|
|
||||||
new_stones.extend([str(int(num)*2024)])
|
|
||||||
input_list = new_stones
|
|
||||||
print(len(input_list))
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
input_text = sys.stdin.read().strip()
|
|
||||||
main(input_text)
|
|
Loading…
Add table
Reference in a new issue