Platform
Resources
Pricing
Sign in
Get started
Visnu Pitiyanuvath
Workspace
Fork
Public
Advent of Code 2022
By
Visnu Pitiyanuvath
Edited
Dec 10, 2022
1 fork
1 star
Advent of Code 2022
Day 25: Full of Hot Air
Day 24: Blizzard Basin
Day 23: Unstable Diffusion
Day 22: Monkey Map
Day 21: Monkey Math
Day 20: Grove Positioning System
Day 19: Not Enough Minerals
Day 18: Boiling Boulders
Day 17: Pyroclastic Flow
Day 16: Proboscidea Volcanium
Day 15: Beacon Exclusion Zone
Day 14: Regolith Reservoir
Day 13: Distress Signal
Day 12: Hill Climbing Algorithm
Day 11: Monkey in the Middle
Day 10: Cathode-Ray Tube
Day 9: Rope Bridge
Day 8: Treetop Tree House
Day 7: No Space Left On Device
Day 6: Tuning Trouble
Day 5: Supply Stacks
Day 4: Camp Cleanup
Day 3: Rucksack Reorganization
Day 2: Rock Paper Scissors
Day 1: Calorie Counting
Advent of Code Leaderboard
Insert cell
Insert cell
Insert cell
cycles
=
d3
.
map
(
run
(
program
)
,
(
sprite
,
cycle
)
=>
{
const
position
=
(
cycle
-
1
)
%
40
;
return
{
cycle
,
position
,
crt
:
sprite
-
1
<=
position
&&
position
<=
sprite
+
1
}
;
}
)
.
slice
(
1
)
Insert cell
part1
=
d3
.
sum
(
signal
(
program
)
,
(
[
i
,
x
]
)
=>
i
*
x
)
Insert cell
d3
.
map
(
signal
(
program
)
,
(
[
i
,
x
]
)
=>
[
i
,
x
]
)
Insert cell
function
*
signal
(
program
)
{
let
i
=
0
;
for
(
const
X
of
run
(
program
)
)
{
if
(
i
===
20
||
(
(
i
-
20
)
%
40
===
0
)
)
yield
[
i
,
X
]
;
i
++
;
}
}
Insert cell
function
*
run
(
program
)
{
let
X
=
1
;
yield
X
;
for
(
const
instruction
of
program
)
{
const
[
op
,
arg
]
=
instruction
.
split
(
" "
)
;
switch
(
op
)
{
case
"noop"
:
yield
X
;
break
;
case
"addx"
:
yield
X
;
yield
X
;
X
+=
+
arg
;
break
;
}
}
}
Insert cell
program
=
data
.
trim
(
)
.
split
(
"\n"
)
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
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
cycles
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
part1
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
Add comment
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
signal
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
run
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
program
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
sample
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML
data
Edit
Add comment
Copy import
Select
Duplicate
Copy link
Embed
Delete
JavaScript
Markdown
HTML