joe
This commit is contained in:
parent
ad2f6b05f7
commit
48ee934ca8
133
Book_1.ipynb
133
Book_1.ipynb
|
@ -18,7 +18,7 @@
|
|||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"execution_count": 1,
|
||||
"id": "1e6ac084-5bf9-43f7-a7a6-8c8e20066159",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
|
@ -1171,6 +1171,137 @@
|
|||
"print(total)\n",
|
||||
"\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "91ac3836-de08-4657-9459-7d4c20bb1a5c",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Puzzel 11"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "8a1b6307-042f-4337-86a8-74e47c78a465",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### Deel 1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 114,
|
||||
"id": "6bb3ddca-1658-45b8-ad18-dec10651a42a",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"9605127"
|
||||
]
|
||||
},
|
||||
"execution_count": 114,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"data = open('data/puzzle_11.txt', 'r').readlines()\n",
|
||||
"data = [re.sub('\\n', '', line) for line in data]\n",
|
||||
"\n",
|
||||
"new_data = []\n",
|
||||
"# expand rows\n",
|
||||
"for line in data:\n",
|
||||
" if len(set(list(line))) == 1:\n",
|
||||
" new_data.append(line)\n",
|
||||
" new_data.append(line)\n",
|
||||
"data = new_data\n",
|
||||
"\n",
|
||||
"new_data = []\n",
|
||||
"\n",
|
||||
"# expand galaxy columns\n",
|
||||
"for line in data:\n",
|
||||
" new_line = \"\"\n",
|
||||
" for i, value in enumerate(line):\n",
|
||||
" if '#' not in [row[i] for row in data]:\n",
|
||||
" new_line += '..'\n",
|
||||
" else:\n",
|
||||
" total += 1\n",
|
||||
" new_line += value\n",
|
||||
" new_data.append(new_line)\n",
|
||||
"\n",
|
||||
"galaxies = []\n",
|
||||
"for row_number, line in enumerate(new_data):\n",
|
||||
" for col_number, value in enumerate(line):\n",
|
||||
" if value == '#':\n",
|
||||
" galaxies.append((row_number, col_number))\n",
|
||||
"pairs = set([frozenset([galaxy_1, galaxy_2]) for galaxy_1 in galaxies for galaxy_2 in galaxies if galaxy_1 != galaxy_2])\n",
|
||||
"distances = []\n",
|
||||
"for galaxy_pair in pairs:\n",
|
||||
" pair = list(galaxy_pair)\n",
|
||||
"\n",
|
||||
" x_diff = abs(pair[0][0] - pair[1][0])\n",
|
||||
" y_diff = abs(pair[0][1] - pair[1][1])\n",
|
||||
" distances.append(x_diff + y_diff)\n",
|
||||
"sum(distances)\n",
|
||||
" \n",
|
||||
" "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 117,
|
||||
"id": "21e469fc-c8be-414d-9c98-e5fc63da02ce",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"458191688761"
|
||||
]
|
||||
},
|
||||
"execution_count": 117,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"data = open('data/puzzle_11.txt', 'r').readlines()\n",
|
||||
"data = [re.sub('\\n', '', line) for line in data]\n",
|
||||
"galaxies = []\n",
|
||||
"for row_number, line in enumerate(data):\n",
|
||||
" for col_number, value in enumerate(line):\n",
|
||||
" if value == '#':\n",
|
||||
" galaxies.append((row_number, col_number))\n",
|
||||
"\n",
|
||||
"expanded_rows = [i for i, line in enumerate(data) if \"#\" not in line]\n",
|
||||
"expanded_cols = [i for i in range(len(data[0])) if '#' not in [row[i] for row in data]]\n",
|
||||
"\n",
|
||||
"pairs = set([frozenset([galaxy_1, galaxy_2]) for galaxy_1 in galaxies for galaxy_2 in galaxies if galaxy_1 != galaxy_2])\n",
|
||||
"distances = []\n",
|
||||
"for galaxy_pair in pairs:\n",
|
||||
" pair = list(galaxy_pair)\n",
|
||||
" x1, y1 = pair[0]\n",
|
||||
" x2, y2 = pair[1]\n",
|
||||
" x_diff = abs(x1-x2)\n",
|
||||
" y_diff = abs(y1-y2)\n",
|
||||
" \n",
|
||||
" for expanded_row in expanded_rows:\n",
|
||||
" if x2 < expanded_row < x1:\n",
|
||||
" x_diff += 999999\n",
|
||||
" if x1 < expanded_row < x2:\n",
|
||||
" x_diff += 999999\n",
|
||||
" for expanded_col in expanded_cols:\n",
|
||||
" if y1 < expanded_col < y2:\n",
|
||||
" y_diff += 999999\n",
|
||||
" if y2 < expanded_col < y1:\n",
|
||||
" y_diff += 999999\n",
|
||||
" \n",
|
||||
"\n",
|
||||
" \n",
|
||||
" distances.append(x_diff + y_diff)\n",
|
||||
"sum(distances)"
|
||||
]
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
|
|
101
pretty_read.md
101
pretty_read.md
|
@ -763,3 +763,104 @@ print(total)
|
|||
|
||||
451
|
||||
|
||||
|
||||
## Puzzel 11
|
||||
|
||||
### Deel 1
|
||||
|
||||
|
||||
```python
|
||||
data = open('data/puzzle_11.txt', 'r').readlines()
|
||||
data = [re.sub('\n', '', line) for line in data]
|
||||
|
||||
new_data = []
|
||||
# expand rows
|
||||
for line in data:
|
||||
if len(set(list(line))) == 1:
|
||||
new_data.append(line)
|
||||
new_data.append(line)
|
||||
data = new_data
|
||||
|
||||
new_data = []
|
||||
|
||||
# expand galaxy columns
|
||||
for line in data:
|
||||
new_line = ""
|
||||
for i, value in enumerate(line):
|
||||
if '#' not in [row[i] for row in data]:
|
||||
new_line += '..'
|
||||
else:
|
||||
total += 1
|
||||
new_line += value
|
||||
new_data.append(new_line)
|
||||
|
||||
galaxies = []
|
||||
for row_number, line in enumerate(new_data):
|
||||
for col_number, value in enumerate(line):
|
||||
if value == '#':
|
||||
galaxies.append((row_number, col_number))
|
||||
pairs = set([frozenset([galaxy_1, galaxy_2]) for galaxy_1 in galaxies for galaxy_2 in galaxies if galaxy_1 != galaxy_2])
|
||||
distances = []
|
||||
for galaxy_pair in pairs:
|
||||
pair = list(galaxy_pair)
|
||||
|
||||
x_diff = abs(pair[0][0] - pair[1][0])
|
||||
y_diff = abs(pair[0][1] - pair[1][1])
|
||||
distances.append(x_diff + y_diff)
|
||||
sum(distances)
|
||||
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
9605127
|
||||
|
||||
|
||||
|
||||
|
||||
```python
|
||||
data = open('data/puzzle_11.txt', 'r').readlines()
|
||||
data = [re.sub('\n', '', line) for line in data]
|
||||
galaxies = []
|
||||
for row_number, line in enumerate(data):
|
||||
for col_number, value in enumerate(line):
|
||||
if value == '#':
|
||||
galaxies.append((row_number, col_number))
|
||||
|
||||
expanded_rows = [i for i, line in enumerate(data) if "#" not in line]
|
||||
expanded_cols = [i for i in range(len(data[0])) if '#' not in [row[i] for row in data]]
|
||||
|
||||
pairs = set([frozenset([galaxy_1, galaxy_2]) for galaxy_1 in galaxies for galaxy_2 in galaxies if galaxy_1 != galaxy_2])
|
||||
distances = []
|
||||
for galaxy_pair in pairs:
|
||||
pair = list(galaxy_pair)
|
||||
x1, y1 = pair[0]
|
||||
x2, y2 = pair[1]
|
||||
x_diff = abs(x1-x2)
|
||||
y_diff = abs(y1-y2)
|
||||
|
||||
for expanded_row in expanded_rows:
|
||||
if x2 < expanded_row < x1:
|
||||
x_diff += 999999
|
||||
if x1 < expanded_row < x2:
|
||||
x_diff += 999999
|
||||
for expanded_col in expanded_cols:
|
||||
if y1 < expanded_col < y2:
|
||||
y_diff += 999999
|
||||
if y2 < expanded_col < y1:
|
||||
y_diff += 999999
|
||||
|
||||
|
||||
|
||||
distances.append(x_diff + y_diff)
|
||||
sum(distances)
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
458191688761
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue