2021: d02: ex2: add solution
This commit is contained in:
parent
fe0d20ad03
commit
94b43da45c
32
2021/d02/ex2/ex2.py
Executable file
32
2021/d02/ex2/ex2.py
Executable file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import sys
|
||||||
|
from typing import List
|
||||||
|
|
||||||
|
|
||||||
|
def solve(input: List[str]) -> int:
|
||||||
|
x, y, aim = 0, 0, 0
|
||||||
|
|
||||||
|
for instruction in input:
|
||||||
|
dir, length_ = instruction.split(" ")
|
||||||
|
length = int(length_)
|
||||||
|
if dir == "forward":
|
||||||
|
x += length
|
||||||
|
y += length * aim
|
||||||
|
elif dir == "down":
|
||||||
|
aim += length
|
||||||
|
elif dir == "up":
|
||||||
|
aim -= length
|
||||||
|
else:
|
||||||
|
assert False
|
||||||
|
|
||||||
|
return x * y
|
||||||
|
|
||||||
|
|
||||||
|
def main() -> None:
|
||||||
|
input = [line.strip() for line in sys.stdin.readlines()]
|
||||||
|
print(solve(input))
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
Loading…
Reference in a new issue