diff --git a/2025/04/solution.py b/2025/04/solution.py new file mode 100644 index 0000000..696a1b7 --- /dev/null +++ b/2025/04/solution.py @@ -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') +