Skip to content

Commit fcdbbc8

Browse files
committed
Reformat project
1 parent 447dd7b commit fcdbbc8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+648
-496
lines changed

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
.vscode/
1+
.vscode/
2+
.idea

2019/01/01.py

+7-4
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@
44
lines = [line.rstrip('\n') for line in inputFile]
55
inputFile.close()
66

7-
def partOne():
7+
8+
def part_one():
89
return sum([int(mass) // 3 - 2 for mass in lines])
910

10-
def partTwo():
11+
12+
def part_two():
1113
total = 0
1214
for line in lines:
1315
mass = int(line)
@@ -16,5 +18,6 @@ def partTwo():
1618
total += mass
1719
return total
1820

19-
print(f'Part one: {partOne()}')
20-
print(f'Part two: {partTwo()}')
21+
22+
print(f'Part one: {part_one()}')
23+
print(f'Part two: {part_two()}')

2019/02/02.py

+8-5
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
program = [int(num) for num in inputFile.read().rstrip().split(',')]
55
inputFile.close()
66

7-
def partOne(a, b):
7+
8+
def part_one(a, b):
89
arr = program[:]
910
arr[1:3] = [a, b]
1011

@@ -16,11 +17,13 @@ def partOne(a, b):
1617
else:
1718
return arr[0]
1819

19-
def partTwo():
20+
21+
def part_two():
2022
for noun in range(100):
2123
for verb in range(100):
22-
if partOne(noun, verb) == 19690720:
24+
if part_one(noun, verb) == 19690720:
2325
return 100 * noun + verb
2426

25-
print(f'Part one: {partOne(12, 2)}')
26-
print(f'Part two: {partTwo()}')
27+
28+
print(f'Part one: {part_one(12, 2)}')
29+
print(f'Part two: {part_two()}')

2019/03/03.py

+10-8
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@
44
lines = [line.rstrip('\n') for line in inputFile]
55
inputFile.close()
66

7+
78
def solve():
89
points = {}
9-
partOne = partTwo = 0
10+
part_one = part_two = 0
1011
for wire in range(2):
1112
steps = 0
1213
pos = [0, 0]
@@ -20,15 +21,16 @@ def solve():
2021
if wire == 1:
2122
if (pos[0], pos[1]) in points:
2223
distance = abs(pos[0]) + abs(pos[1])
23-
totalSteps = points[(pos[0], pos[1])] + steps
24-
if partOne == 0 or distance < partOne:
25-
partOne = distance
26-
if partTwo == 0 or totalSteps < partTwo:
27-
partTwo = totalSteps
24+
total_steps = points[(pos[0], pos[1])] + steps
25+
if part_one == 0 or distance < part_one:
26+
part_one = distance
27+
if part_two == 0 or total_steps < part_two:
28+
part_two = total_steps
2829
else:
2930
points[(pos[0], pos[1])] = steps
3031

31-
print(f'Part one: {partOne}')
32-
print(f'Part two: {partTwo}')
32+
print(f'Part one: {part_one}')
33+
print(f'Part two: {part_two}')
34+
3335

3436
solve()

2019/04/04.py

+10-6
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,15 @@
77

88
start, end = [int(num) for num in line.split('-')]
99

10-
def partOne():
11-
return sum([re.match(r'^1*2*3*4*5*6*7*8*9*$', str(i)) != None and re.search(r'(.)\1', str(i)) != None for i in range(start, end + 1)])
1210

13-
def partTwo():
14-
return sum([re.match(r'^1*2*3*4*5*6*7*8*9*$', str(i)) != None and re.search(r'(.)\1(?<!\1..)(?!\1)', str(i)) != None for i in range(start, end + 1)])
11+
def part_one():
12+
return sum([re.match(r'^1*2*3*4*5*6*7*8*9*$', str(i)) is not None and re.search(r'(.)\1', str(i)) is not None for i in range(start, end + 1)])
1513

16-
print(f'Part one: {partOne()}')
17-
print(f'Part two: {partTwo()}')
14+
15+
def part_two():
16+
return sum([re.match(r'^1*2*3*4*5*6*7*8*9*$', str(i)) is not None and re.search(r'(.)\1(?<!\1..)(?!\1)', str(i)) is not None for i in
17+
range(start, end + 1)])
18+
19+
20+
print(f'Part one: {part_one()}')
21+
print(f'Part two: {part_two()}')

2019/05/05.py

+7-4
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
line = inputFile.read().rstrip()
55
inputFile.close()
66

7-
def partOne():
7+
8+
def part_one():
89
program = [int(i) for i in line.split(',')]
910
output = i = 0
1011
while i < len(program):
@@ -23,7 +24,8 @@ def partOne():
2324
program[program[i + 3]] = p1 + p2 if instruction[-1] == '1' else p1 * p2
2425
i += 4
2526

26-
def partTwo():
27+
28+
def part_two():
2729
program = [int(i) for i in line.split(',')]
2830
output = i = 0
2931
while i < len(program):
@@ -56,5 +58,6 @@ def partTwo():
5658
program[program[i + 3]] = 1 if p1 == p2 else 0
5759
i += 4
5860

59-
print(f'Part one: {partOne()}')
60-
print(f'Part two: {partTwo()}')
61+
62+
print(f'Part one: {part_one()}')
63+
print(f'Part two: {part_two()}')

2019/06/06.py

+19-16
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,16 @@
55
lines = inputFile.readlines()
66
inputFile.close()
77

8-
def partOne():
8+
9+
def part_one():
910
# Performs recursive DFS
10-
def getOrbits(orbited, orbits):
11+
def get_orbits(orbited, orbits):
1112
if orbited not in graph:
1213
return 0
1314
total = 0
1415
orbits += 1
1516
for orbiter in graph[orbited]:
16-
total += orbits + getOrbits(orbiter, orbits)
17+
total += orbits + get_orbits(orbiter, orbits)
1718
return total
1819

1920
# Construct directed graph
@@ -25,9 +26,10 @@ def getOrbits(orbited, orbits):
2526
else:
2627
graph[orbited] = [orbiter[:-1]]
2728

28-
return getOrbits('COM', 0)
29+
return get_orbits('COM', 0)
30+
2931

30-
def partTwo():
32+
def part_two():
3133
# Construct undirected graph
3234
graph = {}
3335
start = destination = ''
@@ -51,20 +53,21 @@ def partTwo():
5153
distances = {start: 0}
5254
visited = {}
5355
while len(visited) < len(graph):
54-
minDistance = -1
55-
minKey = ''
56+
min_distance = -1
57+
min_key = ''
5658
for key in graph:
5759
distance = math.inf if key not in distances else distances[key]
58-
if key not in visited and (minDistance == -1 or distance < minDistance):
59-
minDistance = distance
60-
minKey = key
61-
visited[minKey] = 1
60+
if key not in visited and (min_distance == -1 or distance < min_distance):
61+
min_distance = distance
62+
min_key = key
63+
visited[min_key] = 1
6264

63-
for vertex in graph[minKey]:
64-
if vertex not in distances or minDistance + 1 < distances[vertex]:
65-
distances[vertex] = minDistance + 1
65+
for vertex in graph[min_key]:
66+
if vertex not in distances or min_distance + 1 < distances[vertex]:
67+
distances[vertex] = min_distance + 1
6668

6769
return distances[destination]
6870

69-
print(f'Part one: {partOne()}')
70-
print(f'Part two: {partTwo()}')
71+
72+
print(f'Part one: {part_one()}')
73+
print(f'Part two: {part_two()}')

2019/07/07.py

+12-9
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,18 @@
55
line = inputFile.read().rstrip()
66
inputFile.close()
77

8-
def partOne():
9-
def getOutput(input1, input2):
8+
9+
def part_one():
10+
def get_output(input1, input2):
1011
program = [int(i) for i in line.split(',')]
11-
output = i = inputNum = 0
12+
output = i = input_num = 0
1213
while i < len(program):
1314
instruction = str(program[i]).zfill(5)
1415
if instruction[-1] == '9':
1516
return output
1617
elif instruction[-1] == '3':
17-
program[program[i + 1]] = input1 if inputNum == 0 else input2
18-
inputNum += 1
18+
program[program[i + 1]] = input1 if input_num == 0 else input2
19+
input_num += 1
1920
i += 2
2021
elif instruction[-1] == '4':
2122
output = program[program[i + 1]]
@@ -44,11 +45,12 @@ def getOutput(input1, input2):
4445
for sequence in list(itertools.permutations([0, 1, 2, 3, 4])):
4546
output = 0
4647
for phase in sequence:
47-
output = getOutput(phase, output)
48+
output = get_output(phase, output)
4849
res = max(res, output)
4950
return res
5051

51-
def partTwo():
52+
53+
def part_two():
5254
res = 0
5355
for feedbackSequence in list(itertools.permutations([5, 6, 7, 8, 9])):
5456
inputs = [[phase] for phase in feedbackSequence]
@@ -92,5 +94,6 @@ def partTwo():
9294
res = max(res, inputs[0][-1])
9395
return res
9496

95-
print(f'Part one: {partOne()}')
96-
print(f'Part two: {partTwo()}')
97+
98+
print(f'Part one: {part_one()}')
99+
print(f'Part two: {part_two()}')

2019/08/08.py

+13-10
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,33 @@
44
image = inputFile.read().rstrip()
55
inputFile.close()
66

7-
def partOne():
7+
8+
def part_one():
89
i = zeros = ones = twos = res = 0
9-
fewest = layerSize = 25 * 6
10+
fewest = layer_size = 25 * 6
1011
for pixel in image:
1112
i += 1
1213
zeros += pixel == '0'
1314
ones += pixel == '1'
1415
twos += pixel == '2'
15-
if i % layerSize == 0:
16+
if i % layer_size == 0:
1617
if zeros < fewest:
1718
fewest = zeros
1819
res = ones * twos
1920
zeros = ones = twos = 0
2021
return res
2122

22-
def partTwo():
23-
layerSize = 25 * 6
23+
24+
def part_two():
25+
layer_size = 25 * 6
2426
output = ''
25-
for i in range(layerSize):
27+
for i in range(layer_size):
2628
j = i
2729
while image[j] == '2':
28-
j += layerSize
30+
j += layer_size
2931
output += image[j] if len(output) % 26 else f'\n{image[j]}'
3032
return output
31-
32-
print(f'Part one: {partOne()}')
33-
print(f'Part two: {partTwo()}')
33+
34+
35+
print(f'Part one: {part_one()}')
36+
print(f'Part two: {part_two()}')

2019/09/09.py

+2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
line = inputFile.read().rstrip()
55
inputFile.close()
66

7+
78
def run(input1):
89
program = dict(enumerate(int(i) for i in line.split(',')))
910
output = i = base = 0
@@ -54,5 +55,6 @@ def run(input1):
5455
base += program[key1]
5556
i += 2
5657

58+
5759
print(f'Part one: {run(1)}')
5860
print(f'Part two: {run(2)}')

2019/10/10.py

+21-20
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@
55
lines = [line.rstrip('\n') for line in inputFile]
66
inputFile.close()
77

8+
89
def solve():
9-
def getScore(row, col):
10+
def get_score(row, col):
1011
gradients = {}
1112
for i in range(len(lines)):
1213
for j in range(len(lines[0])):
@@ -30,44 +31,44 @@ def getScore(row, col):
3031
gradients[(quadrant, gradient)] = [(i, j)]
3132
return gradients
3233

33-
partOne = bestRow = bestCol = 0
34-
bestGradients = {}
34+
part_one = best_row = best_col = 0
35+
best_gradients = {}
3536
for row in range(len(lines)):
3637
for col in range(len(lines[0])):
3738
if lines[row][col] == '#':
38-
gradients = getScore(row, col)
39-
if len(gradients) > partOne:
40-
partOne = len(gradients) # Number of unique gradients
41-
bestRow = row
42-
bestCol = col
43-
bestGradients = gradients
44-
39+
gradients = get_score(row, col)
40+
if len(gradients) > part_one:
41+
part_one = len(gradients) # Number of unique gradients
42+
best_row = row
43+
best_col = col
44+
best_gradients = gradients
45+
4546
# Sort values for each gradient by manhattan distance
46-
for key in bestGradients:
47-
bestGradients[key].sort(key=lambda x: abs(bestRow - x[0]) + abs(bestCol - x[1]))
47+
for key in best_gradients:
48+
best_gradients[key].sort(key=lambda x: abs(best_row - x[0]) + abs(best_col - x[1]))
4849

4950
# Separate gradients into 4 quadrants going clockwise starting from top right
5051
quadrants = [[], [], [], []]
51-
for quadrant, gradient in bestGradients:
52+
for quadrant, gradient in best_gradients:
5253
quadrants[quadrant].append(gradient)
5354

5455
# Sort gradients in each quadrant
5556
for quadrant in range(4):
5657
quadrants[quadrant].sort(reverse=True)
5758

58-
partTwo = count = 0
59+
count = 0
5960
while 1:
6061
for quadrant in range(4):
6162
for gradient in quadrants[quadrant]:
62-
points = bestGradients[(quadrant, gradient)]
63+
points = best_gradients[(quadrant, gradient)]
6364
if len(points):
64-
partTwo = points[0]
65-
points = points[1:]
65+
part_two = points[0]
6666
count += 1
6767

6868
if count == 200:
69-
print(f'Part one: {partOne}')
70-
print(f'Part two: {partTwo[1] * 100 + partTwo[0]}')
71-
return
69+
print(f'Part one: {part_one}')
70+
print(f'Part two: {part_two[1] * 100 + part_two[0]}')
71+
return
72+
7273

7374
solve()

0 commit comments

Comments
 (0)