Platform
Resources
Pricing
Sign in
Get started
Cameron DeCoster
Software Engineer
Workspace
Fork
Public
Advent of Code 2022
By
Cameron DeCoster
Edited
Dec 6, 2022
1 fork
1 star
1
Advent of Code 2022
AoC 2022 Day 1: Calorie Counting
AoC 2022 Day 2: Rock Paper Scissors
AoC 2022 Day 3: Rucksack Reorganization
AoC 2022 Day 4: Camp Cleanup
AoC 2022 Day 5: Supply Stacks
AoC 2022 Day 6: Tuning Trouble
AoC 2022 Day 7: No Space Left On Device
AoC 2022: Day 8: Treetop Tree House
AoC 2022 Day 9: Rope Bridge
AoC 2022 Day 10: Cathode-Ray Tube
AoC 2022 Day 11: Monkey in the Middle
AoC 2022 Day 12: Hill Climbing Algorithm
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
pairSections
=
input
.
trim
(
)
.
split
(
"\n"
)
.
map
(
pair
=>
pair
.
split
(
","
)
.
map
(
bounds
=>
bounds
.
split
(
"-"
)
.
map
(
n
=>
Number
(
n
)
)
)
)
;
// DON'T FORGET TO CONVERT STRING REPRESENTATIONS OF NUMBERS INTO NUMBERS!
Insert cell
function
checkFullContainment
(
[
[
lower1
,
upper1
]
,
[
lower2
,
upper2
]
]
)
{
// Check for pair 1 inside of pair 2
if
(
lower1
>=
lower2
&&
upper1
<=
upper2
)
return
1
;
// Check for pair 2 inside of pair 1
if
(
lower2
>=
lower1
&&
upper2
<=
upper1
)
return
1
;
return
0
;
}
Insert cell
fullContainmentCount
=
pairSections
.
map
(
checkFullContainment
)
.
reduce
(
(
total
,
value
)
=>
total
+
value
)
;
Insert cell
Insert cell
function
checkOverlap
(
[
[
lower1
,
upper1
]
,
[
lower2
,
upper2
]
]
)
{
if
(
upper1
>=
lower2
&&
upper2
>=
lower1
)
return
1
;
return
0
;
}
Insert cell
overlapCount
=
pairSections
.
map
(
checkOverlap
)
.
reduce
(
(
total
,
value
)
=>
total
+
value
)
;
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
Fork
View
Export
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Edit
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
input
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
testInput
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
pairSections
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
checkFullContainment
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
fullContainmentCount
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
checkOverlap
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
overlapCount
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML