Skip to content

Commit f93fa7e

Browse files
committed
Day 13: Fix function calls.
1 parent c3e97d1 commit f93fa7e

File tree

1 file changed

+17
-22
lines changed

1 file changed

+17
-22
lines changed

src/day_13.ipynb

Lines changed: 17 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -115,26 +115,15 @@
115115
"metadata": {},
116116
"outputs": [],
117117
"source": [
118-
"def is_horisontal_mirror(grid, row):\n",
119-
" up = row-1\n",
120-
" down = row\n",
118+
"def is_mirror_line(grid, line):\n",
119+
" up = line-1\n",
120+
" down = line\n",
121121
" \n",
122122
" while up >= 0 and down < len(grid):\n",
123123
" if grid[up] != grid[down]:\n",
124124
" return False\n",
125125
" up -= 1\n",
126126
" down += 1\n",
127-
" return True\n",
128-
"\n",
129-
"def is_vertical_mirror(grid, column):\n",
130-
" left = column-1\n",
131-
" right = column\n",
132-
" \n",
133-
" while left >= 0 and right < len(grid):\n",
134-
" if grid[left] != grid[right]:\n",
135-
" return False\n",
136-
" left -= 1\n",
137-
" right += 1\n",
138127
" return True"
139128
]
140129
},
@@ -157,12 +146,12 @@
157146
"source": [
158147
"def find_reflection_point(grid):\n",
159148
" for y in range(1, len(grid)):\n",
160-
" if is_horisontal_mirror(grid, y):\n",
149+
" if is_mirror_line(grid, y):\n",
161150
" return 100 * y\n",
162151
" \n",
163152
" transposed = list(zip(*grid))\n",
164153
" for x in range(1, len(transposed)):\n",
165-
" if is_vertical_mirror(transposed, x):\n",
154+
" if is_mirror_line(transposed, x):\n",
166155
" return x\n",
167156
"\n",
168157
" return None"
@@ -291,14 +280,14 @@
291280
"source": [
292281
"def find_reflection_point_part_2(grid, disallowed_value):\n",
293282
" for y in range(1, len(grid)):\n",
294-
" if is_horisontal_mirror(grid, y):\n",
283+
" if is_mirror_line(grid, y):\n",
295284
" if y * 100 == disallowed_value:\n",
296285
" continue\n",
297286
" return 100 * y\n",
298287
" \n",
299288
" transposed = list(zip(*grid))\n",
300289
" for x in range(1, len(transposed)):\n",
301-
" if is_vertical_mirror(transposed, x):\n",
290+
" if is_mirror_line(transposed, x):\n",
302291
" if x == disallowed_value:\n",
303292
" continue\n",
304293
" return x\n",
@@ -342,10 +331,16 @@
342331
"metadata": {},
343332
"outputs": [
344333
{
345-
"name": "stdout",
346-
"output_type": "stream",
347-
"text": [
348-
"Solution: 32312\n"
334+
"ename": "NameError",
335+
"evalue": "name 'is_horisontal_mirror' is not defined",
336+
"output_type": "error",
337+
"traceback": [
338+
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
339+
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
340+
"Cell \u001b[0;32mIn[8], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m part_2 \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m0\u001b[39m\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m i, grid \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(grids):\n\u001b[0;32m----> 3\u001b[0m part_2 \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[43mflip_until_found\u001b[49m\u001b[43m(\u001b[49m\u001b[43mgrid\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mreflection_points\u001b[49m\u001b[43m[\u001b[49m\u001b[43mi\u001b[49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 5\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mSolution: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mpart_2\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 6\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m part_2 \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m32312\u001b[39m\n",
341+
"Cell \u001b[0;32mIn[7], line 5\u001b[0m, in \u001b[0;36mflip_until_found\u001b[0;34m(grid, disallowed_value)\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m x \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(\u001b[38;5;28mlen\u001b[39m(grid[y])):\n\u001b[1;32m 4\u001b[0m new_grid \u001b[38;5;241m=\u001b[39m flip(y, x, grid)\n\u001b[0;32m----> 5\u001b[0m potential_reflection_point \u001b[38;5;241m=\u001b[39m \u001b[43mfind_reflection_point_part_2\u001b[49m\u001b[43m(\u001b[49m\u001b[43mnew_grid\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdisallowed_value\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 6\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m potential_reflection_point \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 7\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m potential_reflection_point\n",
342+
"Cell \u001b[0;32mIn[6], line 3\u001b[0m, in \u001b[0;36mfind_reflection_point_part_2\u001b[0;34m(grid, disallowed_value)\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mfind_reflection_point_part_2\u001b[39m(grid, disallowed_value):\n\u001b[1;32m 2\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m y \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(\u001b[38;5;241m1\u001b[39m, \u001b[38;5;28mlen\u001b[39m(grid)):\n\u001b[0;32m----> 3\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[43mis_horisontal_mirror\u001b[49m(grid, y):\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m y \u001b[38;5;241m*\u001b[39m \u001b[38;5;241m100\u001b[39m \u001b[38;5;241m==\u001b[39m disallowed_value:\n\u001b[1;32m 5\u001b[0m \u001b[38;5;28;01mcontinue\u001b[39;00m\n",
343+
"\u001b[0;31mNameError\u001b[0m: name 'is_horisontal_mirror' is not defined"
349344
]
350345
}
351346
],

0 commit comments

Comments
 (0)