finished day 7a

master
fettlaus 6 years ago
parent 0e2c9f2d27
commit cdb50936f3
  1. 1
      advent.py
  2. 1
      days/__init__.py
  3. 30
      days/day7.py
  4. 1
      days/input/day7_input

@ -16,6 +16,7 @@ def suite():
suite.addTest(Day5('test_day5b'))
suite.addTest(Day6('test_day6a'))
suite.addTest(Day6('test_day6b'))
suite.addTest(Day7('test_day7a'))
return suite

@ -4,4 +4,5 @@ from .day3 import Day3
from .day4 import Day4
from .day5 import Day5
from .day6 import Day6
from .day7 import Day7
from .comp import OpcodeComputer

@ -0,0 +1,30 @@
import unittest
import os
from . import comp
import itertools
class Day7(unittest.TestCase):
def get_code(self):
inputfile = os.path.join(os.path.dirname(__file__), "input/day7_input")
with open(inputfile) as fp:
return [int(k) for k in fp.readline().split(',')]
def test_day7a(self):
com = comp.OpcodeComputer(self.get_code())
configs = itertools.permutations(range(5), 5)
res = 0
out = []
for conf in configs:
sig = 0
for phase in conf:
out.clear()
com.process_op([phase, sig], out)
sig = out[0]
res = int(out[0]) if int(out[0]) > res else res
self.assertEqual(res, 21000)
def test_day7b(self):
pass

@ -0,0 +1 @@
3,8,1001,8,10,8,105,1,0,0,21,46,59,72,93,110,191,272,353,434,99999,3,9,101,4,9,9,1002,9,3,9,1001,9,5,9,102,2,9,9,1001,9,5,9,4,9,99,3,9,1002,9,5,9,1001,9,5,9,4,9,99,3,9,101,4,9,9,1002,9,4,9,4,9,99,3,9,102,3,9,9,101,3,9,9,1002,9,2,9,1001,9,5,9,4,9,99,3,9,1001,9,2,9,102,4,9,9,101,2,9,9,4,9,99,3,9,1002,9,2,9,4,9,3,9,1002,9,2,9,4,9,3,9,102,2,9,9,4,9,3,9,102,2,9,9,4,9,3,9,102,2,9,9,4,9,3,9,1002,9,2,9,4,9,3,9,101,2,9,9,4,9,3,9,101,2,9,9,4,9,3,9,1001,9,2,9,4,9,3,9,101,2,9,9,4,9,99,3,9,101,2,9,9,4,9,3,9,101,2,9,9,4,9,3,9,101,1,9,9,4,9,3,9,101,1,9,9,4,9,3,9,1002,9,2,9,4,9,3,9,101,2,9,9,4,9,3,9,102,2,9,9,4,9,3,9,1002,9,2,9,4,9,3,9,102,2,9,9,4,9,3,9,101,1,9,9,4,9,99,3,9,101,2,9,9,4,9,3,9,1001,9,1,9,4,9,3,9,101,1,9,9,4,9,3,9,1002,9,2,9,4,9,3,9,1001,9,2,9,4,9,3,9,102,2,9,9,4,9,3,9,1002,9,2,9,4,9,3,9,1002,9,2,9,4,9,3,9,1001,9,1,9,4,9,3,9,101,2,9,9,4,9,99,3,9,102,2,9,9,4,9,3,9,1001,9,2,9,4,9,3,9,1001,9,2,9,4,9,3,9,1002,9,2,9,4,9,3,9,1002,9,2,9,4,9,3,9,1002,9,2,9,4,9,3,9,1001,9,1,9,4,9,3,9,101,2,9,9,4,9,3,9,102,2,9,9,4,9,3,9,1001,9,2,9,4,9,99,3,9,1001,9,1,9,4,9,3,9,1001,9,1,9,4,9,3,9,1001,9,2,9,4,9,3,9,102,2,9,9,4,9,3,9,102,2,9,9,4,9,3,9,101,1,9,9,4,9,3,9,101,1,9,9,4,9,3,9,1002,9,2,9,4,9,3,9,1002,9,2,9,4,9,3,9,1001,9,1,9,4,9,99
Loading…
Cancel
Save