1
0
Fork 0
adventofcode/2016/2/code.py

32 lines
943 B
Python
Executable File

#!/usr/bin/env python3
import sys
lines = [line.strip() for line in sys.stdin.readlines()]
# keypad = ((1, 2, 3), (4, 5, 6), (7, 8, 9))
keypad = ((None, None, 1, None, None),
(None, 2, 3, 4, None),
(5, 6, 7, 8, 9),
(None, 'A', 'B', 'C', None),
(None, None, 'D', None, None))
x, y, code = 0, 2, ""
for line in lines:
for c in line:
if c == 'D':
if y + 1 >= len(keypad) or keypad[y + 1][x] is None:
continue
y = y + 1
elif c == 'U':
if y - 1 < 0 or keypad[y - 1][x] is None:
continue
y = y - 1
elif c == 'L':
if x - 1 < 0 or keypad[y][x - 1] is None:
continue
x = x - 1
elif c == 'R':
if x + 1 >= len(keypad[y]) or keypad[y][x + 1] is None:
continue
x = x + 1
code = code + str(keypad[y][x])
print(code)