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(Day5('test_day5b'))
suite.addTest(Day6('test_day6a')) suite.addTest(Day6('test_day6a'))
suite.addTest(Day6('test_day6b')) suite.addTest(Day6('test_day6b'))
suite.addTest(Day7('test_day7a'))
return suite return suite

@ -4,4 +4,5 @@ from .day3 import Day3
from .day4 import Day4 from .day4 import Day4
from .day5 import Day5 from .day5 import Day5
from .day6 import Day6 from .day6 import Day6
from .day7 import Day7
from .comp import OpcodeComputer 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