diff --git a/day2/day2.py b/day2/day2.py new file mode 100644 index 0000000000000000000000000000000000000000..960b3772f24c159316ac42a721a1e66c29bc82fc --- /dev/null +++ b/day2/day2.py @@ -0,0 +1,33 @@ +def task1(data): + depth = 0 + forward = 0 + for cmd in data: + command, arg = cmd.split(" ") + if command == "forward": + forward += int(arg) + elif command == "down": + depth += int(arg) + else: + depth -= int(arg) + return depth*forward + + +def task2(data): + depth = 0 + forward = 0 + aim = 0 + for cmd in data: + command, arg = cmd.split(" ") + if command == "forward": + forward += int(arg) + depth += aim * int(arg) + elif command == "down": + aim += int(arg) + else: + aim -= int(arg) + return depth * forward + + +data = open("input.txt", "r").read().splitlines() +print(task1(data)) +print(task2(data)) \ No newline at end of file diff --git a/day2/input.txt b/day2/input.txt new file mode 100644 index 0000000000000000000000000000000000000000..a5acc98cbfcb375a82c9c8a4729bd3500653230c --- /dev/null +++ b/day2/input.txt @@ -0,0 +1,1000 @@ +forward 2 +down 4 +down 1 +down 4 +forward 3 +down 6 +down 5 +forward 3 +forward 8 +down 2 +down 3 +up 8 +down 5 +up 7 +down 7 +forward 5 +up 2 +down 6 +forward 7 +forward 1 +forward 2 +forward 7 +up 7 +forward 6 +down 3 +down 1 +up 9 +down 2 +up 1 +down 1 +up 6 +forward 6 +down 7 +forward 6 +up 1 +down 6 +forward 2 +up 7 +forward 4 +forward 8 +forward 7 +down 7 +forward 8 +down 1 +down 6 +down 7 +forward 4 +down 3 +up 7 +down 5 +down 9 +up 8 +up 4 +down 2 +down 3 +up 7 +forward 6 +forward 6 +forward 8 +forward 2 +up 5 +down 8 +down 3 +down 3 +down 4 +down 9 +down 6 +up 6 +forward 4 +down 6 +forward 3 +forward 3 +down 4 +down 8 +down 2 +up 5 +up 5 +forward 3 +forward 5 +down 7 +forward 6 +forward 9 +forward 8 +forward 2 +down 3 +down 3 +down 7 +down 1 +down 1 +down 1 +down 2 +down 8 +down 6 +forward 6 +up 1 +up 6 +down 7 +down 1 +forward 1 +up 2 +up 8 +up 8 +forward 2 +down 1 +down 8 +down 7 +down 1 +forward 1 +down 9 +up 3 +down 3 +forward 2 +down 3 +up 6 +down 2 +forward 7 +down 9 +down 6 +down 1 +forward 6 +down 4 +down 1 +down 3 +forward 3 +down 5 +forward 9 +down 5 +down 7 +up 8 +forward 8 +forward 8 +down 6 +down 1 +forward 8 +down 4 +up 4 +up 4 +up 2 +forward 2 +forward 2 +down 1 +up 8 +down 1 +down 7 +forward 5 +down 9 +down 2 +up 3 +down 1 +down 5 +forward 6 +down 7 +up 3 +forward 7 +down 4 +down 3 +forward 4 +up 8 +down 4 +forward 4 +forward 2 +forward 5 +down 5 +up 2 +forward 4 +down 4 +forward 6 +down 4 +forward 1 +down 5 +forward 2 +forward 2 +down 8 +forward 4 +forward 7 +down 3 +up 3 +forward 2 +forward 6 +forward 8 +down 2 +forward 4 +down 2 +up 9 +down 9 +down 2 +forward 5 +up 4 +forward 2 +down 2 +down 3 +forward 1 +down 2 +forward 8 +forward 8 +down 4 +forward 6 +down 3 +down 3 +down 5 +forward 8 +forward 4 +forward 1 +up 4 +up 2 +forward 8 +down 8 +forward 2 +forward 6 +up 1 +up 5 +forward 2 +forward 4 +forward 7 +forward 8 +forward 2 +down 3 +down 1 +down 9 +down 6 +up 5 +up 6 +forward 6 +down 3 +down 2 +down 1 +forward 5 +forward 2 +forward 7 +down 8 +down 7 +forward 7 +up 8 +forward 7 +down 1 +up 4 +forward 9 +forward 4 +forward 1 +down 3 +down 9 +down 7 +forward 1 +down 3 +forward 3 +down 4 +down 7 +forward 4 +up 6 +down 8 +up 1 +forward 6 +forward 1 +down 7 +down 8 +up 9 +up 4 +down 3 +down 7 +forward 8 +up 2 +up 6 +forward 8 +down 1 +up 4 +up 4 +forward 8 +down 2 +down 4 +down 3 +forward 5 +down 8 +forward 1 +down 2 +forward 9 +forward 3 +up 6 +down 6 +forward 6 +forward 4 +down 6 +down 3 +down 3 +forward 6 +down 5 +up 4 +down 9 +down 3 +down 6 +up 9 +forward 6 +down 2 +forward 7 +up 8 +down 3 +down 7 +down 9 +forward 6 +down 1 +forward 2 +down 1 +down 3 +down 3 +forward 5 +forward 2 +up 5 +forward 4 +up 7 +down 9 +forward 7 +forward 3 +down 6 +forward 1 +down 1 +up 8 +down 9 +up 3 +down 7 +up 9 +forward 7 +down 7 +down 9 +forward 9 +forward 7 +up 9 +down 7 +down 2 +down 7 +up 2 +down 3 +down 9 +down 6 +forward 7 +forward 8 +forward 8 +forward 6 +forward 9 +forward 4 +down 4 +down 5 +down 7 +forward 6 +forward 2 +forward 4 +forward 9 +down 4 +forward 6 +down 7 +up 1 +down 7 +forward 9 +forward 7 +down 4 +down 3 +up 6 +forward 8 +forward 7 +down 8 +forward 4 +up 6 +up 4 +forward 9 +forward 4 +forward 4 +forward 7 +down 1 +up 6 +forward 8 +forward 3 +up 6 +forward 4 +down 1 +up 2 +forward 1 +down 5 +forward 5 +up 4 +down 6 +down 3 +up 8 +forward 9 +down 2 +forward 4 +forward 8 +down 9 +forward 5 +forward 2 +down 9 +down 8 +forward 8 +down 7 +up 6 +forward 1 +up 9 +up 3 +forward 9 +down 6 +forward 9 +down 3 +down 3 +forward 7 +forward 5 +down 8 +down 9 +down 3 +down 6 +up 8 +down 9 +forward 8 +down 7 +down 5 +down 1 +up 4 +down 9 +forward 6 +forward 9 +up 6 +up 4 +forward 3 +forward 2 +forward 1 +down 1 +down 2 +forward 8 +up 6 +forward 5 +up 4 +down 1 +forward 5 +down 3 +down 6 +up 7 +forward 2 +forward 6 +forward 7 +forward 4 +down 5 +down 4 +forward 4 +down 6 +up 2 +up 2 +forward 7 +forward 3 +down 8 +down 1 +down 8 +forward 7 +forward 7 +up 5 +forward 4 +up 8 +down 9 +down 4 +down 4 +forward 5 +down 1 +forward 2 +down 6 +up 4 +down 8 +down 1 +down 9 +down 5 +up 5 +forward 4 +down 2 +down 8 +down 4 +forward 4 +forward 5 +down 8 +up 9 +forward 7 +forward 6 +down 8 +down 3 +up 7 +down 7 +forward 2 +forward 5 +forward 7 +down 9 +up 1 +down 6 +down 2 +forward 6 +forward 3 +forward 3 +up 9 +forward 4 +down 5 +down 7 +forward 8 +forward 6 +forward 5 +down 9 +down 5 +down 1 +down 7 +forward 9 +forward 8 +down 2 +down 4 +down 1 +up 5 +up 5 +forward 5 +down 3 +down 1 +forward 8 +up 9 +up 3 +down 3 +up 3 +up 5 +forward 8 +down 3 +up 3 +down 9 +up 6 +up 8 +forward 5 +up 2 +down 6 +forward 3 +down 2 +down 4 +forward 9 +forward 6 +forward 3 +up 5 +down 9 +down 7 +forward 9 +forward 7 +forward 5 +up 5 +up 1 +down 6 +forward 4 +forward 4 +down 7 +down 1 +up 3 +forward 6 +forward 4 +down 1 +forward 5 +forward 3 +forward 1 +forward 3 +up 3 +up 9 +down 7 +down 4 +forward 8 +down 8 +down 3 +up 2 +down 8 +forward 5 +down 7 +forward 6 +down 9 +up 5 +forward 4 +down 2 +forward 6 +down 8 +down 7 +forward 8 +forward 5 +down 2 +forward 7 +forward 5 +forward 7 +down 8 +forward 5 +down 8 +down 6 +down 7 +down 9 +forward 9 +down 6 +forward 8 +up 6 +up 1 +down 5 +forward 1 +forward 7 +up 2 +up 5 +up 6 +down 5 +down 5 +forward 7 +down 9 +down 2 +forward 9 +forward 3 +down 5 +up 2 +up 8 +forward 5 +forward 8 +up 1 +forward 3 +forward 1 +up 4 +forward 1 +down 9 +down 6 +forward 1 +down 4 +down 4 +forward 9 +down 3 +up 6 +down 3 +forward 6 +forward 6 +down 3 +forward 6 +down 3 +down 1 +forward 3 +down 7 +up 9 +forward 1 +down 7 +down 2 +up 8 +down 1 +down 9 +down 1 +down 4 +down 6 +down 3 +down 7 +down 2 +down 9 +down 2 +forward 4 +up 3 +down 4 +up 4 +down 1 +forward 5 +forward 7 +down 7 +forward 9 +forward 6 +down 8 +forward 6 +forward 7 +up 3 +down 3 +up 6 +forward 7 +up 4 +forward 4 +down 1 +up 8 +forward 7 +down 2 +up 6 +forward 1 +forward 3 +up 9 +up 8 +up 5 +forward 7 +up 5 +down 6 +forward 7 +forward 7 +down 4 +down 3 +forward 2 +down 8 +up 9 +up 6 +forward 7 +forward 5 +down 9 +down 2 +up 5 +down 3 +down 3 +up 5 +down 8 +forward 7 +down 4 +down 2 +up 9 +down 5 +down 8 +down 5 +down 6 +forward 9 +down 3 +down 8 +forward 3 +down 1 +down 9 +forward 1 +down 3 +up 9 +up 3 +forward 8 +up 2 +down 4 +up 5 +up 4 +down 9 +down 5 +up 3 +forward 2 +down 8 +forward 8 +forward 7 +up 4 +down 9 +down 6 +up 1 +forward 9 +up 8 +forward 4 +up 3 +down 4 +up 2 +up 7 +down 2 +forward 3 +down 8 +down 9 +up 7 +up 8 +forward 3 +forward 1 +forward 7 +forward 5 +forward 9 +forward 2 +up 1 +down 1 +up 4 +forward 1 +up 9 +forward 7 +forward 2 +down 6 +down 5 +forward 9 +forward 4 +down 6 +down 6 +up 8 +down 3 +up 8 +down 3 +forward 2 +down 1 +down 1 +forward 5 +down 1 +forward 9 +up 8 +forward 2 +down 5 +up 8 +up 8 +forward 8 +forward 8 +forward 3 +forward 2 +forward 8 +forward 9 +forward 8 +forward 6 +forward 4 +up 7 +forward 9 +forward 8 +up 7 +forward 6 +forward 9 +forward 8 +down 7 +forward 9 +down 4 +down 1 +up 1 +up 9 +forward 2 +down 6 +down 2 +down 8 +down 6 +up 8 +forward 7 +up 9 +forward 5 +forward 4 +forward 8 +up 4 +forward 4 +up 6 +forward 7 +forward 1 +up 8 +down 6 +forward 7 +forward 3 +forward 2 +down 4 +forward 4 +down 7 +down 6 +down 2 +up 3 +up 5 +down 7 +down 9 +up 8 +down 1 +up 1 +down 8 +up 8 +forward 8 +down 6 +down 1 +down 6 +forward 3 +down 9 +down 5 +up 3 +down 1 +down 1 +forward 4 +down 4 +up 3 +forward 8 +up 4 +down 3 +down 5 +down 3 +forward 6 +forward 3 +down 2 +forward 9 +forward 3 +forward 2 +down 2 +forward 6 +down 1 +down 1 +forward 5 +forward 4 +forward 6 +down 7 +forward 7 +forward 3 +forward 1 +up 3 +down 6 +forward 1 +up 9 +forward 9 +forward 5 +forward 3 +forward 3 +down 3 +up 8 +forward 5 +up 6 +forward 2 +down 7 +forward 2 +forward 8 +forward 8 +forward 3 +up 9 +down 5 +down 3 +forward 7 +up 9 +forward 4 +down 1 +down 3 +down 5 +down 2 +forward 9 +up 6 +down 3 +down 7 +down 3 +up 6 +forward 3 +down 4 +forward 2 +down 8 +down 2 +forward 7 +down 2 +down 9 +forward 1 +down 1 +down 9 +down 6 +forward 5 +down 1 +up 1 +forward 5 +forward 4 +forward 9 +down 3 +forward 3 +forward 5 +down 9 +forward 9 +down 8 +down 2 +forward 1 +up 1 +down 5 +forward 2 +up 9 +forward 9 +forward 7 +forward 9 +forward 3 +down 7 +forward 2 +down 4 +up 3 +down 7 +down 6 +forward 2 +down 2 +forward 8 +up 9 +down 1 +forward 7 +down 8 +forward 3 +down 2 +down 5 +down 5 +down 3 +forward 1 +up 9 +up 9 +down 8 +down 6 +up 7 +forward 7 +down 4 +forward 6 +down 9 +up 5 +up 6 +forward 4 +forward 1 +forward 1 +down 7 +down 8 +down 2 +down 4 +down 3 +up 8 +down 3 +forward 3 +forward 8 +up 3 +down 2 +forward 4 +down 3 +forward 5 +up 1 +down 9 +down 1 +down 4 +forward 3 +forward 6 +forward 7 +forward 2 +forward 9 +forward 1 +forward 6 +forward 7 +forward 2 +up 1 +down 6 +down 1 +forward 6 +down 6 +down 5 +forward 1