Platform
Resources
Pricing
Sign in
Get started
Jo Wood
Professor of Visual Analytics interested in design, geovisualization, visual storytelling and computational thinking.
Workspace
Fork
Public
Ξ🎄Advent of Code 2022
By
Jo Wood
Edited
Dec 2, 2024
Paused
Fork of
Advent of Code: 2022 Day 1
•
1 fork
1 star
Ξ🎄Advent of Code 2022
Advent of Code: 2022 Day 1
Advent of Code: 2022 Day 2
Advent of Code: 2022 Day 3
Advent of Code: 2022 Day 4
Advent of Code: 2022 Day 5
Advent of Code: 2022 Day 6
Advent of Code: 2022 Day 7
Advent of Code: 2022 Day 8
Advent of Code: 2022 Day 9
Advent of Code: 2022 Day 10
Advent of Code: 2022 Day 11
Advent of Code: 2022 Day 12
Advent of Code: 2022 Day 13
Advent of Code: 2022 Day 14
Advent of Code: 2022 Day 15
Advent of Code: 2022 Day 16
Advent of Code: 2022 Day 18
Advent of Code: 2022 Day 20
Advent of Code: 2022 Day 21
Advent of Code: 2022 Day 22
Advent of Code: 2022 Day 23
Advent of Code: 2022 Day 24
Advent of Code: 2022 Day 25
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
function
splitEvenly
(
lines
)
{
return
lines
.
map
(
(
l
)
=>
[
l
.
slice
(
0
,
l
.
length
/
2
)
,
l
.
slice
(
l
.
length
/
2
)
]
)
;
}
Insert cell
Insert cell
function
common
(
[
left
,
right
]
)
{
return
[
...
AOC
.
intersection
(
new
Set
(
[
...
left
]
)
,
new
Set
(
[
...
right
]
)
)
]
[
0
]
;
}
Insert cell
Insert cell
function
priority
(
item
)
{
return
item
<
"a"
?
item
.
charCodeAt
(
0
)
-
38
:
item
.
charCodeAt
(
0
)
-
96
;
}
Insert cell
Insert cell
function
part1
(
input
)
{
return
AOC
.
sum
(
splitEvenly
(
input
.
split
(
"\n"
)
)
.
map
(
(
items
)
=>
priority
(
common
(
items
)
)
)
)
;
}
Insert cell
Insert cell
Insert cell
Insert cell
function
part2
(
input
)
{
const
grps
=
AOC
.
chunk
(
input
.
split
(
"\n"
)
,
3
)
.
map
(
(
grp
)
=>
grp
.
map
(
(
rucksack
)
=>
new
Set
(
rucksack
)
)
)
;
return
AOC
.
sum
(
grps
.
map
(
(
grp
)
=>
priority
(
[
...
AOC
.
intersections
(
grp
)
]
[
0
]
)
)
)
;
}
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Purpose-built for displays of data
Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Try it for free
Learn more
Compare fork
Fork
View
Export
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
inputChooser
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
splitEvenly
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
common
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
priority
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
part1
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
part2
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
test1
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
puzzleInput
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML