solved part 2
This commit is contained in:
parent
348a7c3cdb
commit
99b4a74c88
@ -76,6 +76,7 @@ print(f'XMAS Count: {total}')
|
||||
# Part 2
|
||||
def check_pos(pos: Vector) -> bool:
|
||||
chars = []
|
||||
poss = []
|
||||
|
||||
for dir in [UP + LEFT, UP + RIGHT, DOWN + LEFT, DOWN + RIGHT]:
|
||||
new_pos = pos + dir
|
||||
@ -88,8 +89,22 @@ def check_pos(pos: Vector) -> bool:
|
||||
elif new_pos.x < 0 or new_pos.x >= len(data[new_pos.y]):
|
||||
return False
|
||||
chars.append(data[new_pos.y][new_pos.x])
|
||||
poss.append(new_pos)
|
||||
|
||||
if chars.count('M') == 2 and chars.count('S') == 2:
|
||||
m_pos = None
|
||||
|
||||
for i, char in enumerate(chars):
|
||||
match char:
|
||||
case 'M':
|
||||
if not m_pos:
|
||||
m_pos = poss[i]
|
||||
else:
|
||||
if poss[i].x != m_pos.x and poss[i].y != m_pos.y:
|
||||
return False
|
||||
|
||||
|
||||
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user