* Solve 2015:16 "Aunt Sue" * Make 2023:08 future compatible Code used to work with another version of python. * Solve 2015:17 "No such Thing as Too much" * Solve 2015:18 "Like a GIF For Your Yard" Also solve 2015:06 just in case, was just a ref in the end. * Solve 2015:19 "Medicine for Rudolph" * Solve 2015:20 "Infinite Elves and Infinite Houses" * Solve 2023:21 "RPG Simulator 20XX" * Solve 2015:22 "Wizard Simulator 20XX" * Solve 2015:23 "Opening the Turing Lock" * Solve 2015:25 "Let it Snow" Wrote p2rc and rc2p just for academic purposes. Puzzles could be solved anyway. * Solve 2015:24 "Hangs in the Balance" --------- Co-authored-by: Anders Englöf Ytterström <anders@playmaker.ai>
32 lines
733 B
Python
32 lines
733 B
Python
import re
|
|
|
|
from solutions import BaseSolution
|
|
|
|
|
|
class Solution(BaseSolution):
|
|
input_file = "08.txt"
|
|
|
|
def __str__(self):
|
|
return "Day 8: Matchsticks"
|
|
|
|
def parse_input(self, data):
|
|
return data.split()
|
|
|
|
def solve(self, puzzle_input):
|
|
def lendiff(line):
|
|
readable = eval(line)
|
|
return len(line) - len(readable)
|
|
|
|
return sum(map(lendiff, puzzle_input))
|
|
|
|
def solve_again(self, puzzle_input):
|
|
def lendiff(line):
|
|
encoded = line.replace("\\", "\\\\").replace('"', '\\"')
|
|
return len(encoded) + 2 - len(line)
|
|
|
|
return sum(map(lendiff, puzzle_input))
|
|
|
|
|
|
if __name__ == "__main__":
|
|
solution = Solution()
|
|
solution.show_results()
|