diff --git a/docs/topics/advent-of-code.md b/docs/topics/advent-of-code.md
index 5e8ef2a831f..bf63f87b8b0 100644
--- a/docs/topics/advent-of-code.md
+++ b/docs/topics/advent-of-code.md
@@ -4,26 +4,110 @@
every day from December 1 to December 25. With the permission of [Eric Wastl](http://was.tl/), creator of Advent of Code,
we'll show how to solve these puzzles using the idiomatic Kotlin style:
+* [](#advent-of-code-2022)
* [](#advent-of-code-2021)
* [](#advent-of-code-2020)
-## Advent of Code 2021
-
-* [](#get-ready)
-* [](#day-1-sonar-sweep)
-* [](#day-2-dive)
-* [](#day-3-binary-diagnostic)
-* [](#day-4-giant-squid)
-
-### Get ready
+## Get ready for Advent of Code
We'll take you through the basic tips on how to get up and running with solving Advent of Code challenges with Kotlin:
-* Read our [blog post about Advent of Code 2021](https://blog.jetbrains.com/kotlin/2021/11/advent-of-code-2021-in-kotlin/)
* Use [this GitHub template](https://github.com/kotlin-hands-on/advent-of-code-kotlin-template) to create projects
* Check out the welcome video by Kotlin Developer Advocate, Sebastian Aigner:
-
+
+
+## Advent of Code 2022
+
+### Day 1: Calorie counting
+
+* Read the puzzle description on [Advent of Code](https://adventofcode.com/2022/day/1)
+* Check out the solution in the video:
+
+![YouTube](youtube.svg){width=25}{type="joined"} [Advent of Code 2022 Day 1 | Kotlin](https://www.youtube.com/watch?v=ntbsbqLCKDs)
+
+### Day 2: Rock paper scissors
+
+* Read the puzzle description on [Advent of Code](https://adventofcode.com/2022/day/2)
+* Check out the solution in the video:
+
+![YouTube](youtube.svg){width=25}{type="joined"} [Advent of Code 2022 Day 2 | Kotlin](https://www.youtube.com/watch?v=Fn0SY2yGDSA)
+
+### Day 3: Rucksack reorganization
+
+* Read the puzzle description on [Advent of Code](https://adventofcode.com/2022/day/3)
+* Check out the solution in the video:
+
+![YouTube](youtube.svg){width=25}{type="joined"} [Advent of Code 2022 Day 3 | Kotlin](https://www.youtube.com/watch?v=IPLfo4zXNjk)
+
+### Day 4: Camp cleanup
+
+* Read the puzzle description on [Advent of Code](https://adventofcode.com/2022/day/4)
+* Check out the solution in the video:
+
+![YouTube](youtube.svg){width=25}{type="joined"} [Advent of Code 2022 Day 4 | Kotlin](https://www.youtube.com/watch?v=dBIbr55YS0A)
+
+### Day 5: Supply stacks
+
+* Read the puzzle description on [Advent of Code](https://adventofcode.com/2022/day/5)
+* Check out the solution in the video:
+
+![YouTube](youtube.svg){width=25}{type="joined"} [Advent of Code 2022 Day 5 | Kotlin](https://www.youtube.com/watch?v=lKq6r5Nt8Yo)
+
+### Day 6: Tuning trouble
+
+* Read the puzzle description on [Advent of Code](https://adventofcode.com/2022/day/6)
+* Check out the solution in the video:
+
+![YouTube](youtube.svg){width=25}{type="joined"} [Advent of Code 2022 Day 6 | Kotlin](https://www.youtube.com/watch?v=VbBhaQhW0zk)
+
+### Day 7: No space left on device
+
+* Read the puzzle description on [Advent of Code](https://adventofcode.com/2022/day/7)
+* Check out the solution in the video:
+
+![YouTube](youtube.svg){width=25}{type="joined"} [Advent of Code 2022 Day 7 | Kotlin](https://www.youtube.com/watch?v=Q819VW8yxFo)
+
+### Day 8: Treetop tree house
+
+* Read the puzzle description on [Advent of Code](https://adventofcode.com/2022/day/8)
+* Check out the solution in the video:
+
+![YouTube](youtube.svg){width=25}{type="joined"} [Advent of Code 2022 Day 8 | Kotlin](https://www.youtube.com/watch?v=6d6FXFh-UdA)
+
+### Day 9: Rope bridge
+
+* Read the puzzle description on [Advent of Code](https://adventofcode.com/2022/day/9)
+* Check out the solution in the video:
+
+![YouTube](youtube.svg){width=25}{type="joined"} [Advent of Code 2022 Day 9 | Kotlin](https://www.youtube.com/watch?v=ShU9dNUa_3g)
+
+### Day 10: Cathode-ray tube
+
+* Read the puzzle description on [Advent of Code](https://adventofcode.com/2022/day/10)
+* Check out the solution in the video:
+
+![YouTube](youtube.svg){width=25}{type="joined"} [Advent of Code 2022 Day 10 | Kotlin](https://www.youtube.com/watch?v=KVyeNmFHoL4)
+
+### Day 11: Monkey in the middle
+
+* Read the puzzle description on [Advent of Code](https://adventofcode.com/2022/day/11)
+* Check out the solution in the video:
+
+![YouTube](youtube.svg){width=25}{type="joined"} [Advent of Code 2022 Day 11 | Kotlin](https://www.youtube.com/watch?v=1eBSyPe_9j0)
+
+### Day 12: Hill Climbing algorithm
+
+* Read the puzzle description on [Advent of Code](https://adventofcode.com/2022/day/12)
+* Check out the solution in the video:
+
+![YouTube](youtube.svg){width=25}{type="joined"} [Advent of Code 2022 Day 12 | Kotlin](https://www.youtube.com/watch?v=tJ74hi_3sk8)
+
+## Advent of Code 2021
+
+> Read our [blog post about Advent of Code 2021](https://blog.jetbrains.com/kotlin/2021/11/advent-of-code-2021-in-kotlin/)
+>
+{type="tip"}
### Day 1: Sonar sweep
@@ -33,7 +117,7 @@ Apply windowed and count functions to work with pairs and triplets of integers.
* Check out the solution from Anton Arhipov on the [Kotlin Blog](https://blog.jetbrains.com/kotlin/2021/12/advent-of-code-2021-in-kotlin-day-1)
or watch the video:
-
+![YouTube](youtube.svg){width=25}{type="joined"} [Advent of Code 2021 in Kotlin, Day 1: Sonar Sweep](https://www.youtube.com/watch?v=76IzmtOyiHw)
### Day 2: Dive!
@@ -43,7 +127,7 @@ Learn about destructuring declarations and the `when` expression.
* Check out the solution from Pasha Finkelshteyn on [GitHub](https://github.com/asm0dey/aoc-2021/blob/main/src/Day02.kt)
or watch the video:
-
+![YouTube](youtube.svg){width=25}{type="joined"} [Advent of Code 2021 in Kotlin, Day 2: Dive!](https://www.youtube.com/watch?v=4A2WwniJdNc)
### Day 3: Binary diagnostic
@@ -53,7 +137,7 @@ Explore different ways to work with binary numbers.
* Check out the solution from Sebastian Aigner on [Kotlin Blog](https://blog.jetbrains.com/kotlin/2021/12/advent-of-code-2021-in-kotlin-day-3/)
or watch the video:
-
+![YouTube](youtube.svg){width=25}{type="joined"} [Advent of Code 2021 in Kotlin, Day 3: Binary Diagnostic](https://www.youtube.com/watch?v=mF2PTnnOi8w)
### Day 4: Giant squid
@@ -63,7 +147,7 @@ Learn how to parse the input and introduce some domain classes for more convenie
* Check out the solution from Anton Arhipov on the [GitHub](https://github.com/antonarhipov/advent-of-code-2021/blob/main/src/Day04.kt)
or watch the video:
-
+![YouTube](youtube.svg){width=25}{type="joined"} [Advent of Code 2021 in Kotlin, Day 4: Giant Squid](https://www.youtube.com/watch?v=wL6sEoLezPQ)
## Advent of Code 2020
@@ -71,16 +155,6 @@ Learn how to parse the input and introduce some domain classes for more convenie
>
{type="tip"}
-* [](#day-1-report-repair)
-* [](#day-2-password-philosophy)
-* [](#day-3-toboggan-trajectory)
-* [](#day-4-passport-processing)
-* [](#day-5-binary-boarding)
-* [](#day-6-custom-customs)
-* [](#day-7-handy-haversacks)
-* [](#day-8-handheld-halting)
-* [](#day-9-encoding-error)
-
### Day 1: Report repair
Explore input handling, iterating over a list, different ways of building a map, and using the [`let`](scope-functions.md#let)
@@ -90,7 +164,7 @@ function to simplify your code.
* Check out the solution from Svetlana Isakova on the [Kotlin Blog](https://blog.jetbrains.com/kotlin/2021/07/advent-of-code-in-idiomatic-kotlin/)
or watch the video:
-
+![YouTube](youtube.svg){width=25}{type="joined"} [Learn Kotlin With the Kotlin Team: Advent of Code 2020 #1](https://www.youtube.com/watch?v=o4emra1xm88)
### Day 2: Password philosophy
@@ -101,7 +175,7 @@ function can be helpful to transform your expressions.
* Check out the solution from Svetlana Isakova on the [Kotlin Blog](https://blog.jetbrains.com/kotlin/2021/07/advent-of-code-in-idiomatic-kotlin-day2/)
or watch the video:
-
+![YouTube](youtube.svg){width=25}{type="joined"} [Learn Kotlin with The Kotlin Team: Advent of Code 2020 #2](https://www.youtube.com/watch?v=MyvJ7G6aErQ)
### Day 3: Toboggan trajectory
@@ -112,7 +186,7 @@ function, edit code in the column selection mode, and fix integer overflows.
* Check out the solution from Mikhail Dvorkin on [GitHub](https://github.com/kotlin-hands-on/advent-of-code-2020/blob/master/src/day03/day3.kt)
or watch the video:
-
+![YouTube](youtube.svg){width=25}{type="joined"} [Learn Kotlin with the Kotlin Team: Advent of Code 2020 #3](https://www.youtube.com/watch?v=ounCIclwOAw)
### Day 4: Passport processing
@@ -123,7 +197,7 @@ utility functions, working with ranges, checking set membership, and matching a
* Check out the solution from Sebastian Aigner on the [Kotlin Blog](https://blog.jetbrains.com/kotlin/2021/09/validating-input-advent-of-code-in-kotlin/)
or watch the video:
-
+![YouTube](youtube.svg){width=25}{type="joined"} [Learn Kotlin with the Kotlin Team: Advent of Code 2020 #4](https://www.youtube.com/watch?v=-kltG4Ztv1s)
### Day 5: Binary boarding
@@ -134,7 +208,7 @@ explore powerful local functions, and learn how to use the `max()` function in K
* Check out the solution from Svetlana Isakova on the [Kotlin Blog](https://blog.jetbrains.com/kotlin/2021/09/idiomatic-kotlin-binary-representation/)
or watch the video:
-
+![YouTube](youtube.svg){width=25}{type="joined"} [Learn Kotlin with the Kotlin Team: Advent of Code 2020 #5](https://www.youtube.com/watch?v=XEFna3xyxeY)
### Day 6: Custom customs
@@ -145,7 +219,7 @@ Learn how to group and count characters in strings and collections using the sta
* Check out the solution from Anton Arhipov on the [Kotlin Blog](https://blog.jetbrains.com/kotlin/2021/09/idiomatic-kotlin-set-operations/)
or watch the video:
-
+![YouTube](youtube.svg){width=25}{type="joined"} [Learn Kotlin with the Kotlin Team: Advent of Code 2020 #6](https://www.youtube.com/watch?v=QLAB0kZ-Tqc)
### Day 7: Handy haversacks
@@ -157,7 +231,7 @@ depth-first and breadth-first.
* Check out the solution from Pasha Finkelshteyn on the [Kotlin Blog](https://blog.jetbrains.com/kotlin/2021/09/idiomatic-kotlin-traversing-trees/)
or watch the video:
-
+![YouTube](youtube.svg){width=25}{type="joined"} [Learn Kotlin with the Kotlin Team: Advent of Code 2020 #7](https://www.youtube.com/watch?v=KyZiveDXWHw)
### Day 8: Handheld halting
@@ -169,7 +243,7 @@ use sequences and the `sequence { }` builder function to construct a lazy collec
* Check out the solution from Sebastian Aigner on the [Kotlin Blog](https://blog.jetbrains.com/kotlin/2021/10/idiomatic-kotlin-simulating-a-console/)
or watch the video:
-
+![YouTube](youtube.svg){width=25}{type="joined"} [Learn Kotlin with the Kotlin Team: Advent of Code 2020 #8](https://www.youtube.com/watch?v=0GWTTSMatO8)
### Day 9: Encoding error
@@ -180,7 +254,7 @@ Explore different ways to manipulate lists in Kotlin using the `any()`, `firstOr
* Check out the solution from Svetlana Isakova on the [Kotlin Blog](https://blog.jetbrains.com/kotlin/2021/10/idiomatic-kotlin-working-with-lists/)
or watch the video:
-
+![YouTube](youtube.svg){width=25}{type="joined"} [Learn Kotlin with the Kotlin Team: Advent of Code 2020 #9](https://www.youtube.com/watch?v=vj3J9MuF1mI)
## What's next?