diff --git a/day2/day2.py b/day2/day2.py new file mode 100644 index 0000000..64021a6 --- /dev/null +++ b/day2/day2.py @@ -0,0 +1,42 @@ +def part1(inp): + horizontal_pos = 0 + depth = 0 + for line in inp: + command, amount = line.split(" ") + if command == "forward": + horizontal_pos += int(amount) + elif command == "up": + depth -= int(amount) + elif command == "down": + depth += int(amount) + #print(f"horizontal {horizontal_pos}, depth {depth}") + print("Part 1", horizontal_pos * depth) + + +def part2(inp): + horizontal_pos = 0 + depth = 0 + aim = 0 + for line in inp: + command, amount = line.split(" ") + if command == "forward": + horizontal_pos += int(amount) + # It increases your depth by your aim multiplied by X. + depth += aim * int(amount) + elif command == "up": + aim -= int(amount) + elif command == "down": + aim += int(amount) + #print(f"horizontal {horizontal_pos}, depth {depth}") + print("Part 2", horizontal_pos * depth) + + +def main(input_file): + with open(input_file) as f: + entries = f.readlines() + part1(entries) + part2(entries) + + +if __name__ == "__main__": + main("input.txt") diff --git a/day2/input.txt b/day2/input.txt new file mode 100644 index 0000000..8aaa3e6 --- /dev/null +++ b/day2/input.txt @@ -0,0 +1,1000 @@ +forward 4 +forward 6 +down 8 +forward 3 +forward 9 +down 7 +down 7 +down 1 +forward 1 +forward 5 +up 4 +forward 3 +forward 9 +forward 5 +down 8 +forward 6 +forward 8 +up 4 +forward 1 +forward 4 +up 3 +down 2 +down 2 +up 8 +forward 9 +down 5 +down 6 +down 4 +forward 1 +forward 7 +down 1 +forward 2 +down 7 +down 6 +forward 3 +forward 1 +down 7 +forward 3 +up 7 +up 1 +forward 6 +down 8 +down 4 +down 1 +down 7 +forward 9 +down 2 +forward 9 +up 4 +down 7 +forward 9 +forward 9 +up 4 +up 7 +up 2 +forward 1 +down 9 +forward 2 +forward 8 +forward 5 +down 9 +forward 5 +up 1 +forward 8 +down 6 +down 1 +down 1 +down 8 +down 6 +down 4 +down 6 +forward 7 +forward 5 +forward 4 +up 8 +up 4 +forward 6 +forward 9 +forward 6 +down 2 +up 8 +forward 3 +forward 8 +down 5 +forward 1 +down 6 +down 7 +up 4 +down 8 +forward 6 +up 4 +forward 7 +down 8 +down 8 +down 2 +down 8 +up 7 +forward 7 +forward 6 +down 2 +forward 9 +down 7 +down 4 +forward 1 +up 9 +down 6 +up 7 +down 6 +down 2 +down 2 +forward 3 +down 8 +forward 4 +down 7 +down 2 +up 8 +down 6 +forward 2 +forward 2 +down 6 +up 6 +down 7 +up 5 +up 4 +up 9 +forward 9 +forward 7 +down 4 +down 4 +up 5 +down 2 +forward 3 +down 9 +down 5 +forward 8 +up 3 +forward 7 +forward 9 +down 3 +forward 1 +up 1 +forward 5 +down 8 +down 2 +forward 3 +down 6 +down 8 +up 9 +down 9 +forward 4 +up 5 +forward 8 +forward 7 +forward 7 +down 3 +down 5 +forward 8 +down 1 +down 2 +forward 2 +up 9 +down 3 +down 9 +forward 2 +down 4 +up 9 +up 3 +down 1 +down 1 +forward 6 +down 5 +down 9 +forward 2 +up 5 +forward 3 +down 1 +down 7 +forward 1 +forward 1 +down 7 +up 3 +up 1 +up 6 +forward 9 +up 1 +down 8 +down 5 +up 6 +up 2 +down 8 +forward 3 +forward 1 +down 7 +up 1 +down 9 +down 9 +up 8 +forward 4 +up 8 +forward 8 +down 5 +forward 5 +forward 2 +forward 1 +forward 5 +down 8 +forward 6 +forward 8 +down 5 +forward 8 +up 1 +up 9 +up 7 +down 5 +down 9 +up 4 +down 7 +up 8 +up 3 +forward 6 +down 9 +forward 4 +down 4 +forward 2 +forward 3 +down 4 +down 5 +down 3 +forward 9 +forward 5 +forward 9 +forward 4 +down 5 +down 7 +down 5 +forward 8 +up 5 +down 2 +forward 3 +forward 4 +down 5 +up 8 +forward 5 +down 2 +up 4 +down 5 +down 2 +forward 1 +up 3 +down 6 +down 8 +down 3 +forward 1 +up 5 +forward 1 +down 3 +forward 4 +down 6 +forward 8 +forward 4 +forward 1 +down 8 +down 2 +forward 8 +down 5 +forward 2 +forward 2 +down 9 +forward 1 +forward 8 +up 1 +forward 1 +down 1 +down 7 +down 4 +up 4 +down 3 +forward 1 +forward 9 +down 9 +up 6 +up 8 +down 2 +down 2 +down 3 +forward 2 +forward 9 +down 1 +up 9 +down 3 +down 9 +down 1 +down 7 +forward 9 +forward 7 +down 5 +down 2 +down 9 +down 2 +down 7 +up 7 +down 2 +up 3 +up 5 +forward 8 +up 7 +forward 1 +down 9 +down 9 +down 1 +forward 6 +down 7 +up 4 +up 4 +down 9 +up 5 +up 8 +down 3 +down 5 +forward 6 +up 3 +down 8 +down 5 +forward 9 +up 6 +forward 9 +forward 5 +up 6 +up 9 +down 2 +up 5 +forward 9 +down 1 +up 1 +down 9 +forward 4 +forward 4 +forward 8 +down 5 +down 3 +down 7 +forward 5 +down 6 +forward 3 +down 5 +down 5 +up 5 +forward 8 +forward 1 +forward 2 +forward 6 +up 1 +down 5 +down 4 +up 5 +forward 3 +forward 2 +forward 2 +forward 2 +forward 7 +forward 8 +down 2 +up 8 +forward 4 +down 4 +forward 7 +down 6 +down 7 +forward 5 +down 5 +forward 1 +down 8 +forward 6 +down 1 +forward 3 +up 3 +down 7 +down 2 +up 4 +down 3 +up 2 +up 8 +down 2 +forward 5 +forward 3 +down 9 +down 9 +up 2 +forward 6 +forward 9 +down 1 +forward 6 +down 4 +up 2 +down 7 +down 3 +down 3 +forward 2 +down 5 +down 9 +down 7 +forward 7 +forward 9 +up 8 +down 8 +down 3 +up 5 +down 9 +forward 8 +forward 8 +down 1 +forward 5 +forward 2 +forward 7 +down 9 +down 7 +forward 6 +up 9 +forward 3 +forward 5 +up 7 +down 9 +forward 9 +forward 4 +forward 5 +forward 9 +forward 8 +forward 1 +forward 2 +forward 8 +down 7 +forward 3 +up 2 +up 7 +forward 1 +forward 3 +forward 9 +up 3 +down 2 +forward 3 +forward 6 +forward 3 +forward 3 +forward 3 +forward 1 +forward 1 +up 5 +down 5 +up 5 +down 5 +down 5 +forward 8 +forward 1 +down 4 +forward 7 +down 6 +down 1 +down 2 +down 2 +down 6 +up 8 +forward 3 +forward 2 +up 8 +up 2 +forward 1 +forward 6 +forward 5 +forward 6 +forward 7 +down 8 +forward 1 +down 4 +forward 2 +up 4 +forward 4 +down 1 +forward 5 +down 7 +forward 7 +up 7 +forward 1 +down 2 +forward 8 +forward 5 +up 8 +up 8 +up 2 +down 9 +forward 2 +down 4 +down 3 +down 5 +down 5 +down 2 +up 5 +forward 6 +up 7 +forward 8 +up 7 +down 4 +forward 1 +down 3 +forward 2 +forward 1 +down 2 +up 7 +forward 5 +up 8 +up 1 +down 4 +forward 6 +down 4 +up 9 +forward 5 +down 2 +down 7 +down 7 +forward 4 +forward 4 +forward 9 +down 1 +forward 6 +forward 1 +up 9 +forward 4 +forward 4 +forward 8 +forward 3 +forward 4 +down 3 +up 5 +up 1 +forward 3 +down 6 +down 4 +down 2 +forward 3 +forward 8 +up 6 +up 3 +forward 8 +down 3 +down 6 +forward 1 +up 7 +down 4 +down 5 +up 7 +forward 3 +up 4 +forward 9 +forward 6 +down 3 +forward 4 +down 6 +forward 1 +forward 6 +forward 4 +forward 2 +forward 1 +forward 3 +forward 1 +down 1 +down 9 +down 5 +down 7 +down 4 +down 8 +up 1 +down 6 +down 1 +forward 4 +down 9 +up 9 +down 6 +forward 6 +forward 8 +up 7 +forward 4 +down 3 +forward 9 +forward 6 +forward 8 +down 1 +up 2 +down 2 +down 8 +forward 4 +down 9 +down 3 +forward 5 +down 9 +down 4 +up 5 +down 8 +down 4 +down 9 +up 4 +down 5 +down 7 +down 3 +up 1 +up 1 +down 4 +down 6 +forward 8 +down 8 +down 6 +forward 6 +forward 9 +forward 3 +forward 3 +down 2 +down 4 +forward 3 +up 5 +up 3 +down 5 +down 1 +forward 5 +forward 7 +forward 1 +forward 4 +forward 5 +forward 1 +down 7 +down 8 +up 9 +down 8 +down 5 +up 3 +down 5 +down 5 +forward 8 +down 2 +forward 7 +forward 7 +down 1 +forward 2 +forward 7 +forward 5 +down 6 +forward 5 +down 5 +forward 4 +down 8 +forward 7 +up 5 +forward 5 +down 7 +down 7 +up 4 +forward 8 +up 1 +forward 3 +forward 7 +down 2 +forward 1 +down 4 +up 8 +forward 3 +forward 1 +forward 6 +forward 3 +up 4 +forward 3 +down 3 +forward 7 +forward 9 +forward 8 +down 6 +down 8 +up 6 +down 9 +forward 7 +forward 1 +up 4 +forward 5 +forward 8 +down 7 +down 9 +up 6 +up 6 +forward 9 +down 1 +forward 8 +down 9 +down 5 +forward 6 +forward 1 +down 4 +forward 8 +down 9 +down 4 +forward 5 +forward 7 +forward 3 +down 2 +forward 6 +forward 3 +forward 8 +down 1 +down 5 +up 6 +down 2 +down 1 +up 3 +down 7 +up 1 +forward 8 +down 6 +down 6 +forward 8 +up 3 +forward 8 +up 3 +forward 3 +forward 7 +forward 1 +down 1 +up 5 +forward 5 +forward 9 +forward 5 +forward 1 +forward 4 +down 8 +forward 2 +up 3 +forward 3 +down 9 +forward 2 +forward 6 +forward 3 +up 8 +up 1 +down 6 +forward 3 +down 4 +down 5 +forward 6 +forward 9 +down 4 +down 9 +down 7 +down 1 +up 3 +up 6 +forward 4 +forward 5 +down 1 +forward 3 +up 5 +forward 7 +down 9 +forward 5 +down 5 +down 1 +down 1 +down 1 +up 8 +down 4 +down 9 +forward 5 +down 5 +up 5 +up 3 +forward 1 +forward 7 +down 2 +forward 6 +forward 5 +up 4 +up 4 +forward 1 +down 7 +down 8 +up 3 +down 3 +up 4 +forward 2 +up 4 +up 4 +forward 8 +forward 1 +forward 2 +forward 7 +down 6 +forward 8 +forward 9 +forward 6 +forward 9 +down 3 +up 3 +forward 5 +down 1 +forward 1 +forward 4 +forward 2 +down 6 +up 7 +forward 9 +down 2 +up 5 +forward 6 +down 9 +down 6 +down 8 +forward 2 +down 7 +forward 6 +down 8 +forward 3 +forward 7 +forward 6 +down 7 +down 6 +forward 5 +up 8 +forward 6 +down 1 +up 9 +forward 6 +down 6 +down 5 +down 6 +up 2 +down 3 +down 7 +down 3 +forward 4 +up 9 +up 2 +forward 1 +forward 7 +forward 7 +forward 9 +forward 8 +forward 7 +down 3 +forward 4 +forward 8 +down 9 +forward 2 +forward 2 +up 9 +up 7 +forward 2 +down 8 +down 3 +down 1 +forward 1 +forward 3 +down 2 +forward 7 +up 4 +down 7 +down 1 +forward 8 +forward 2 +up 1 +down 5 +forward 8 +up 5 +up 7 +forward 4 +forward 7 +up 4 +up 3 +forward 5 +forward 9 +forward 1 +forward 3 +down 9 +up 2 +forward 8 +down 3 +forward 3 +forward 2 +down 8 +down 2 +down 3 +forward 1 +up 7 +down 1 +forward 3 +forward 8 +down 3 +down 9 +up 1 +down 9 +up 7 +up 7 +forward 7 +forward 7 +up 8 +down 2 +down 7 +down 1 +forward 5 +forward 5 +forward 7 +down 8 +forward 5 +down 9 +down 8 +forward 3 +up 9 +forward 3 +up 6 +forward 7 +up 7 +forward 3 +forward 2 +down 1 +down 4 +forward 1 +forward 8 +up 5 +down 5 +up 1 +down 5 +up 1 +up 6 +forward 5 +forward 5 +down 3 +down 3 +forward 2 +up 3 +up 2 +down 6 +down 5 +down 1 +down 1 +up 6 +forward 2 +forward 2 +up 4 +up 6 +up 6 +down 8 +up 2 +forward 4 +down 3 +forward 3 +up 4 +down 5 +forward 6 +forward 7 +up 6 +down 3 +down 7 +up 4 +down 2 +up 2 +forward 1 +down 8 +down 1 +down 1 +up 9 +down 1 +down 1 +up 1 +forward 8 +forward 4 +down 4 +forward 1 +down 4 +up 7 +forward 7 +forward 3 +down 4 +forward 9 +forward 1 +down 3 +down 2 +forward 7 +up 1 +forward 3 +up 3 +down 3 +down 7 +up 3 +up 4 +forward 7 +down 2 +up 2 +down 9 +up 1 +forward 3 +up 8 +up 8 +down 8 +down 1 +up 8 +up 4 +down 6 +forward 8 \ No newline at end of file