Skip to content

Commit

Permalink
d02
Browse files Browse the repository at this point in the history
  • Loading branch information
dhananjaylatkar committed Jun 28, 2023
1 parent 669f3f9 commit 0b0ec08
Show file tree
Hide file tree
Showing 2 changed files with 78 additions and 0 deletions.
73 changes: 73 additions & 0 deletions day_02.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# https://adventofcode.com/2016/day/2

from helper import get_input, print_result

DAY = 2

inp = get_input(DAY)

DIRS = {
"U": (-1, 0),
"D": (+1, 0),
"L": (0, -1),
"R": (0, +1),
}


def p1():
KEYPAD = ((1, 2, 3), (4, 5, 6), (7, 8, 9))
res = ""
pos = (1, 1) # Starting position

def get_next_pos(code, curr):
# print(code)
for d in code:
new_x = curr[0] + DIRS[d][0]
new_y = curr[1] + DIRS[d][1]

if new_x >= 0 and new_x < 3 and new_y >= 0 and new_y < 3:
curr = (new_x, new_y)
# print(curr, KEYPAD[curr[0]][curr[1]])
return curr

for code in inp:
pos = get_next_pos(code, pos)
res += str(KEYPAD[pos[0]][pos[1]])
return res


def p2():
KEYPAD = (
(-1, -1, 1, -1, -1),
(-1, 2, 3, 4, -1),
(5, 6, 7, 8, 9),
(-1, "A", "B", "C", -1),
(-1, -1, "D", -1, -1),
)
res = ""
pos = (2, 0) # Starting position

def get_next_pos(code, curr):
# print(code)
for d in code:
new_x = curr[0] + DIRS[d][0]
new_y = curr[1] + DIRS[d][1]

if (
new_x >= 0
and new_x < 5
and new_y >= 0
and new_y < 5
and KEYPAD[new_x][new_y] != -1
):
curr = (new_x, new_y)
# print(curr, KEYPAD[curr[0]][curr[1]])
return curr

for code in inp:
pos = get_next_pos(code, pos)
res += str(KEYPAD[pos[0]][pos[1]])
return res


print_result(DAY, p1(), p2())
5 changes: 5 additions & 0 deletions input/day_02
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
LLULLLRLDLLLRLUURDDLRDLDURULRLUULUDDUDDLLLURRLDRRLDRRRLDUDLRDLRRDLLDUDUDUDRLUDUUDLLLRDURUDUULUDLRDUUUDUUDURLDUULLRDLULDUURUDRDDLDRLURLRURRDUURLRLUURURUUULLRLLULRUURLULURDLLRRUDLUDULDRDRLRULUURRDRULLRUUUDLRLDLUURRRURDLUDDRRUDRLUDRDLLLLLRULLDUDRLRRDDULDLRUURRRRRLDLDLRDURDRUUURDLRDDDDULURRRRDUURLULLLDLRULRDULRUDLRRLRDLLRLLLUDDLRDRURDDLLLLDUDRDLRURRDLRDDDLDULDRLRULUUDRRRUUULLLURRDDUULURULDURRLLULLDRURUUULRLRDRRUDRDRRDURRUUUULDRDDDUDLDDURLLRR
LDLRRRUURDLDDRLRRDLLULRULLLUDUUDUDLRULLDRUDRULLDULURDRDDLRURDDULLLLDLRDRDRDDURLURLURLUDRDDRDULULUDDRURRDLLDUURDRDDLRLLURRDLRDDULDLULURDRDLUDRRUUDULLULURRDUDRUUUDRULDLDURLRRUDURLDLRRUURRRURDLUDRLDUDRRUDUURURUDDUUDRDULRDLUDRRRLDRURLLRDDDLUDRDUDURDDDRRDDRRRLLRRDDLDDLRUURRURDLLDRLRRDLLUDRRRURURLRDRLLRLRLRULLRURLDLRRULLRRRDULUUULDRDLLURDDLDLRDRLUUDLLUDDLDRRLDLRUDRUDLLUURLLULURUDUDRLULLUDRURDDLDLDDUDLRDDRRURLRLLUDDUDRUURRURRULDRLDDRLLRRLDDURRDLDULLLURULLLRUURLRRRRUUULRLLLURRLRLRUDRDUUUDUUUDDLULLDLLLLDLDRULDRUUULDDDLURLDLRLULRUDDDDURDDLU
RURLURRDLDULLULDDDLRUULLUURLRUDRUDRRUDDLDDDDRRDLRURLRURLDDDUDDUURRDRULDRRRULRDRDDLRUDULRLURDUUDRRLDLRDRURDLDRRRRDRURUUDDDLLRDRDUDUDUDLLULURULRRLRURUULUULDDDDURULRULLRUDUURLURDUDLUDLUDRLLDUUDUULRLRLUUDRDULDULRURDRRRULRUDLRURDDULUDULLRLRURURUULLULDRURLLRRUUDDUUURRDLURUURULRDRRDDUDULRDDLUDLURURUURDRULLRDDLLRDDLDRDUDRRDLUURRLRLUURRULUDURLDDRLLURRDDDLDDRURULLDDRLUDDLRLURDUDULLRDULLLDLLUDDRUDRUDDUUDRDRULRL
RLRDRDULULUDLUDRDRLUDLDLLUDURULDDDUDLRURLLRLRLDLDRLDURDLRRURLULLULURLLDRRDRLUDRLRDLLULRULURRURURUULRDUDLLRDLRRRRRLUURDRRRDLRUDLLDLLDLRUUUDLLLDDDLRDULLRUUDDRLDDURRRDLRLRLDDDDLRDRULLUURUUDRRLLRLLRDDLLRURRRRDRULRRLLRLLLRLDRRLDDDURRURLDURUURRLRLRLDRURULLRLRUDLDUURDLLRLDLURUUUDLLRDRDDDDDDRLDRRRLRRRRURUDLDDRDLLURUDLRRLDDDLUDUDUULRDULULUDDULUUDLLLLRLDDUUULRLRDULURDURRRURRULURRRDRDLDDURDLURUDURRRDDRLRLUDLUDDLUULLDURLURDDUDDLRUUUDRLLDRURL
ULUDLLUDDULRUURDRURDUDUDLUURDDDRRLUDURURDRURRLDRDURLRLLRRDDRRDRRRUULURUDURUDULRRRRDDLDURRLRRDUDDDRLLLULDRLRLURRDUURDURRRURRDLUDUDDRLDLURRRDDRLLRDRDDRDURRRRLURRLUDDURRULRUDUDULDRUDDRULLUUULDURRRLDRULLURULLRUDLDUDDLDULDLUUDRULULDLLDRULLRUULDUDUUDRLRRLDLUULUDLLDDRLRRDDLLURURDULRRDDRURDRLRLULDLDURULLUUUDURURDLDUDDDDUUULUDLUURRULLDLRLURDLURLRLDDURRLDDRRRDUUULLUULDLLDLLDDRLRRUDLULDRLULDULULRRLRULUUURURUUURDUUDDURLLUDDRLRDDLUURRUULRDLDDRLULUULRDRURLUURDRDUURUDLRR

0 comments on commit 0b0ec08

Please sign in to comment.