25 lines
No EOL
578 B
Python
25 lines
No EOL
578 B
Python
import re
|
|
|
|
|
|
def get_code_chars(string):
|
|
return len(string)
|
|
|
|
def get_mem_chars(string):
|
|
return len(eval(f'"{string[1:-1]}"'))
|
|
|
|
def get_encoded_size(string):
|
|
return len(f'{re.escape(string)}') + 2
|
|
|
|
|
|
with open("input", "r") as data:
|
|
encoded_code_sum = 0
|
|
code_char_sum = 0
|
|
mem_char_sum = 0
|
|
for line in data:
|
|
line = line.strip()
|
|
encoded_code_sum += get_encoded_size(line)
|
|
code_char_sum += get_code_chars(line)
|
|
mem_char_sum += get_mem_chars(line)
|
|
|
|
print(f"Part 1 Solution: {code_char_sum - mem_char_sum}")
|
|
print(f"Part 2 Solution: {encoded_code_sum - code_char_sum}") |