「✨」 feat(day3/4): forgot to push yesterday, yayy
This commit is contained in:
17
2025/03/part1.py
Normal file
17
2025/03/part1.py
Normal file
@@ -0,0 +1,17 @@
|
||||
import os
|
||||
|
||||
#if (os.path.isfile("./input")):
|
||||
# input = open("./input", "r").read()
|
||||
#else:
|
||||
input = "987654321111111\n811111111111119\n234234234234278\n818181911112111\n"
|
||||
|
||||
r = 0
|
||||
for bat in input.split('\n'):
|
||||
if (bat == ""):
|
||||
break
|
||||
for i in reversed(range(12)):
|
||||
print(bat)
|
||||
r += int(max(bat[:-i + 1])) * 10**i
|
||||
bat = bat[bat.find(max(bat[:-i + 1])) + 1:] # i dont remember the code i did on this one, it's just weird code for part2 that doesnt work, sorryyyyyyyyyyyyyyyyyyyy
|
||||
|
||||
print(r)
|
||||
17
2025/03/part2.py
Normal file
17
2025/03/part2.py
Normal file
@@ -0,0 +1,17 @@
|
||||
import os
|
||||
|
||||
if (os.path.isfile("./input")):
|
||||
input = open("./input", "r").read()
|
||||
else:
|
||||
input = "987654321111111\n811111111111119\n234234234234278\n818181911112111\n"
|
||||
|
||||
r = 0
|
||||
for bat in input.split('\n'):
|
||||
if (bat == ""):
|
||||
break
|
||||
for i in reversed(range(12)):
|
||||
m = max(bat[:(len(bat) if i == 0 else -i)])
|
||||
r += int(m) * 10**i
|
||||
bat = bat[bat.index(str(m)) + 1:]
|
||||
|
||||
print(r)
|
||||
42
2025/04/part1.py
Normal file
42
2025/04/part1.py
Normal file
@@ -0,0 +1,42 @@
|
||||
import os
|
||||
|
||||
if (os.path.isfile("./input")):
|
||||
input = open("./input", "r").read()
|
||||
else:
|
||||
input = "..@@.@@@@.\n@@@.@.@.@@\n@@@@@.@.@@\n@.@@@@..@.\n@@.@@@@.@@\n.@@@@@@@.@\n.@.@.@.@@@\n@.@@@.@@@@\n.@@@@@@@@.\n@.@.@@@.@."
|
||||
|
||||
map = input.split('\n')
|
||||
if (map[-1] == ""):
|
||||
map.pop()
|
||||
|
||||
for i in range(len(map)):
|
||||
map[i] = "." + map[i] + "."
|
||||
|
||||
map.append("." * len(map[0]))
|
||||
map.insert(0, "." * len(map[0]))
|
||||
|
||||
r = 0
|
||||
for y in range(len(map)):
|
||||
for x in range(len(map[y])):
|
||||
if map[y][x] == "@":
|
||||
c = 0
|
||||
if (map[y+1][x+1] == "@"):
|
||||
c += 1
|
||||
if (map[y+1][x] == "@"):
|
||||
c += 1
|
||||
if (map[y+1][x-1] == "@"):
|
||||
c += 1
|
||||
if (map[y][x+1] == "@"):
|
||||
c += 1
|
||||
if (map[y][x-1] == "@"):
|
||||
c += 1
|
||||
if (map[y-1][x+1] == "@"):
|
||||
c += 1
|
||||
if (map[y-1][x] == "@"):
|
||||
c += 1
|
||||
if (map[y-1][x-1] == "@"):
|
||||
c += 1
|
||||
if (c < 4):
|
||||
r += 1
|
||||
|
||||
print(r)
|
||||
48
2025/04/part2.py
Normal file
48
2025/04/part2.py
Normal file
@@ -0,0 +1,48 @@
|
||||
import os
|
||||
|
||||
if (os.path.isfile("./input")):
|
||||
input = open("./input", "r").read()
|
||||
else:
|
||||
input = "..@@.@@@@.\n@@@.@.@.@@\n@@@@@.@.@@\n@.@@@@..@.\n@@.@@@@.@@\n.@@@@@@@.@\n.@.@.@.@@@\n@.@@@.@@@@\n.@@@@@@@@.\n@.@.@@@.@."
|
||||
|
||||
map = input.split('\n')
|
||||
if (map[-1] == ""):
|
||||
map.pop()
|
||||
|
||||
for i in range(len(map)):
|
||||
map[i] = list("." + map[i] + ".")
|
||||
|
||||
map.append(list("." * len(map[0])))
|
||||
map.insert(0, list("." * len(map[0])))
|
||||
|
||||
r = 0
|
||||
lastr = -1
|
||||
while (r != lastr):
|
||||
lastr = r;
|
||||
nmap = map;
|
||||
for y in range(len(map)):
|
||||
for x in range(len(map[y])):
|
||||
if map[y][x] == "@":
|
||||
c = 0
|
||||
if (map[y+1][x+1] == "@"):
|
||||
c += 1
|
||||
if (map[y+1][x] == "@"):
|
||||
c += 1
|
||||
if (map[y+1][x-1] == "@"):
|
||||
c += 1
|
||||
if (map[y][x+1] == "@"):
|
||||
c += 1
|
||||
if (map[y][x-1] == "@"):
|
||||
c += 1
|
||||
if (map[y-1][x+1] == "@"):
|
||||
c += 1
|
||||
if (map[y-1][x] == "@"):
|
||||
c += 1
|
||||
if (map[y-1][x-1] == "@"):
|
||||
c += 1
|
||||
if (c < 4):
|
||||
r += 1
|
||||
nmap[y][x] = "."
|
||||
map = nmap;
|
||||
|
||||
print(r)
|
||||
Reference in New Issue
Block a user