Added 2025 day4 part 1
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
#!/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')
|
||||
|
||||
Reference in New Issue
Block a user