commit 16dc52d9f24176d8c67c06588624bf38c6a99372 Author: Gabriel Augendre Date: Mon Mar 2 22:43:53 2020 +0100 Solve days 1 and 2 of AoC 2019 diff --git a/.python-version b/.python-version new file mode 100644 index 0000000..0ac9d0a --- /dev/null +++ b/.python-version @@ -0,0 +1 @@ +advent-of-code diff --git a/2019/day01-fuel.xlsx b/2019/day01-fuel.xlsx new file mode 100644 index 0000000..74a9dd5 Binary files /dev/null and b/2019/day01-fuel.xlsx differ diff --git a/2019/day02-intcode.py b/2019/day02-intcode.py new file mode 100644 index 0000000..eef5c27 --- /dev/null +++ b/2019/day02-intcode.py @@ -0,0 +1,43 @@ +def compute(lst): + result = lst.copy() + + i = 0 + while i < len(result): + code = result[i] + if code == 99: + return result + position1, position2 = result[i + 1], result[i + 2] + item1 = result[position1] + item2 = result[position2] + result_index = result[i + 3] + + if code == 1: + result[result_index] = item1 + item2 + elif code == 2: + result[result_index] = item1 * item2 + else: + raise ValueError(f"Something bad happened, code={code}") + + i += 4 + + return result + + +if __name__ == "__main__": + for i in range(100): + for j in range(100): + ints = list( + map( + int, + "1,0,0,3,1,1,2,3,1,3,4,3,1,5,0,3,2,1,6,19,1,9,19,23,1,6,23,27,1,10,27,31,1,5,31,35,2,6,35,39,1,5,39,43,1,5,43,47,2,47,6,51,1,51,5,55,1,13,55,59,2,9,59,63,1,5,63,67,2,67,9,71,1,5,71,75,2,10,75,79,1,6,79,83,1,13,83,87,1,10,87,91,1,91,5,95,2,95,10,99,2,9,99,103,1,103,6,107,1,107,10,111,2,111,10,115,1,115,6,119,2,119,9,123,1,123,6,127,2,127,10,131,1,131,6,135,2,6,135,139,1,139,5,143,1,9,143,147,1,13,147,151,1,2,151,155,1,10,155,0,99,2,14,0,0".split( + "," + ), + ) + ) + + ints[1] = i + ints[2] = j + + result = compute(ints) + if result[0] == 19690720: + print(i, j)