Files
AdventOfCode/2025/04/solution.py
T

62 lines
1.5 KiB
Python

#!/bin/python3
import sys,time,re,os
from pprint import pprint
sys.path.insert(0, '../../')
from fred import *
start_time = time.time()
if sys.argv[1] == 'test':
input_f = 'test'
elif sys.argv[1] == 'input':
input_f = 'input'
else:
print('No argv provided')
exit()
#########################################
# #
# Part 1 #
# #
#########################################
def part1():
grid = toGrid(input_f)
directions = ['up','down','left','right','up-left','up-right','down-left','down-right']
score = 0
for ydx,y in enumerate(grid):
for xdx, x in enumerate(y):
limit = 0
if get_value_in_direction(grid,(xdx,ydx)) == '@':
for d in directions:
val = get_value_in_direction(grid,(xdx,ydx),d)
if val == '@':
limit += 1
# print(xdx,ydx,limit)
if limit < 4:
score+=1
return score
start_time = time.time()
p1 = part1()
print('Part 1:',p1, '\t\t', round((time.time() - start_time)*1000), 'ms')
#########################################
# #
# Part 2 #
# #
#########################################
def part2():
return
start_time = time.time()
p2 = part2()
print('Part 2:',p2, '', round((time.time() - start_time)*1000), 'ms')