advent_of_ruby 0.3.1 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. checksums.yaml +4 -4
  2. data/bin/arb +1 -1
  3. data/data/solutions/reddit/ruby/2015/02.yml +5 -5
  4. data/data/solutions/reddit/ruby/2015/03.yml +6 -6
  5. data/data/solutions/reddit/ruby/2015/04.yml +7 -7
  6. data/data/solutions/reddit/ruby/2015/05.yml +6 -6
  7. data/data/solutions/reddit/ruby/2015/06.yml +14 -14
  8. data/data/solutions/reddit/ruby/2015/07.yml +15 -15
  9. data/data/solutions/reddit/ruby/2015/08.yml +6 -6
  10. data/data/solutions/reddit/ruby/2015/09.yml +11 -11
  11. data/data/solutions/reddit/ruby/2015/10.yml +18 -18
  12. data/data/solutions/reddit/ruby/2015/11.yml +19 -19
  13. data/data/solutions/reddit/ruby/2015/12.yml +10 -10
  14. data/data/solutions/reddit/ruby/2015/13.yml +9 -9
  15. data/data/solutions/reddit/ruby/2015/14.yml +11 -11
  16. data/data/solutions/reddit/ruby/2015/15.yml +9 -9
  17. data/data/solutions/reddit/ruby/2015/16.yml +7 -7
  18. data/data/solutions/reddit/ruby/2015/17.yml +10 -10
  19. data/data/solutions/reddit/ruby/2015/18.yml +4 -4
  20. data/data/solutions/reddit/ruby/2015/19.yml +1 -1
  21. data/data/solutions/reddit/ruby/2015/20.yml +2 -2
  22. data/data/solutions/reddit/ruby/2015/21.yml +4 -4
  23. data/data/solutions/reddit/ruby/2015/22.yml +5 -5
  24. data/data/solutions/reddit/ruby/2015/23.yml +3 -3
  25. data/data/solutions/reddit/ruby/2015/24.yml +11 -11
  26. data/data/solutions/reddit/ruby/2015/25.yml +5 -5
  27. data/data/solutions/reddit/ruby/2016/01.yml +5 -5
  28. data/data/solutions/reddit/ruby/2016/02.yml +3 -3
  29. data/data/solutions/reddit/ruby/2016/03.yml +1 -1
  30. data/data/solutions/reddit/ruby/2016/04.yml +4 -4
  31. data/data/solutions/reddit/ruby/2016/05.yml +3 -3
  32. data/data/solutions/reddit/ruby/2016/06.yml +4 -4
  33. data/data/solutions/reddit/ruby/2016/07.yml +3 -3
  34. data/data/solutions/reddit/ruby/2016/08.yml +6 -6
  35. data/data/solutions/reddit/ruby/2016/09.yml +1 -1
  36. data/data/solutions/reddit/ruby/2016/10.yml +3 -3
  37. data/data/solutions/reddit/ruby/2016/11.yml +1 -1
  38. data/data/solutions/reddit/ruby/2016/12.yml +3 -3
  39. data/data/solutions/reddit/ruby/2016/14.yml +4 -4
  40. data/data/solutions/reddit/ruby/2016/15.yml +11 -11
  41. data/data/solutions/reddit/ruby/2016/16.yml +1 -1
  42. data/data/solutions/reddit/ruby/2016/17.yml +3 -3
  43. data/data/solutions/reddit/ruby/2016/18.yml +3 -3
  44. data/data/solutions/reddit/ruby/2016/20.yml +2 -2
  45. data/data/solutions/reddit/ruby/2016/21.yml +7 -7
  46. data/data/solutions/reddit/ruby/2016/22.yml +10 -10
  47. data/data/solutions/reddit/ruby/2017/01.yml +7 -7
  48. data/data/solutions/reddit/ruby/2017/02.yml +15 -15
  49. data/data/solutions/reddit/ruby/2017/03.yml +9 -9
  50. data/data/solutions/reddit/ruby/2017/04.yml +4 -4
  51. data/data/solutions/reddit/ruby/2017/05.yml +12 -12
  52. data/data/solutions/reddit/ruby/2017/06.yml +16 -16
  53. data/data/solutions/reddit/ruby/2017/07.yml +5 -5
  54. data/data/solutions/reddit/ruby/2017/08.yml +18 -18
  55. data/data/solutions/reddit/ruby/2017/09.yml +7 -7
  56. data/data/solutions/reddit/ruby/2017/10.yml +9 -9
  57. data/data/solutions/reddit/ruby/2017/11.yml +1 -1
  58. data/data/solutions/reddit/ruby/2017/12.yml +6 -6
  59. data/data/solutions/reddit/ruby/2017/13.yml +6 -6
  60. data/data/solutions/reddit/ruby/2017/14.yml +1 -1
  61. data/data/solutions/reddit/ruby/2017/15.yml +3 -3
  62. data/data/solutions/reddit/ruby/2017/16.yml +5 -5
  63. data/data/solutions/reddit/ruby/2017/17.yml +6 -6
  64. data/data/solutions/reddit/ruby/2017/18.yml +7 -7
  65. data/data/solutions/reddit/ruby/2017/19.yml +2 -2
  66. data/data/solutions/reddit/ruby/2017/20.yml +5 -5
  67. data/data/solutions/reddit/ruby/2017/21.yml +11 -11
  68. data/data/solutions/reddit/ruby/2017/22.yml +1 -1
  69. data/data/solutions/reddit/ruby/2017/23.yml +1 -1
  70. data/data/solutions/reddit/ruby/2017/25.yml +3 -3
  71. data/data/solutions/reddit/ruby/2018/01.yml +20 -20
  72. data/data/solutions/reddit/ruby/2018/02.yml +16 -16
  73. data/data/solutions/reddit/ruby/2018/03.yml +12 -12
  74. data/data/solutions/reddit/ruby/2018/04.yml +6 -6
  75. data/data/solutions/reddit/ruby/2018/05.yml +15 -15
  76. data/data/solutions/reddit/ruby/2018/06.yml +4 -4
  77. data/data/solutions/reddit/ruby/2018/07.yml +11 -11
  78. data/data/solutions/reddit/ruby/2018/08.yml +9 -9
  79. data/data/solutions/reddit/ruby/2018/09.yml +13 -13
  80. data/data/solutions/reddit/ruby/2018/10.yml +10 -10
  81. data/data/solutions/reddit/ruby/2018/11.yml +9 -9
  82. data/data/solutions/reddit/ruby/2018/12.yml +2 -2
  83. data/data/solutions/reddit/ruby/2018/13.yml +14 -14
  84. data/data/solutions/reddit/ruby/2018/14.yml +5 -5
  85. data/data/solutions/reddit/ruby/2018/15.yml +2 -2
  86. data/data/solutions/reddit/ruby/2018/16.yml +7 -7
  87. data/data/solutions/reddit/ruby/2018/17.yml +1 -1
  88. data/data/solutions/reddit/ruby/2018/18.yml +6 -6
  89. data/data/solutions/reddit/ruby/2018/19.yml +1 -1
  90. data/data/solutions/reddit/ruby/2018/20.yml +1 -1
  91. data/data/solutions/reddit/ruby/2018/21.yml +4 -4
  92. data/data/solutions/reddit/ruby/2018/22.yml +3 -3
  93. data/data/solutions/reddit/ruby/2018/23.yml +11 -11
  94. data/data/solutions/reddit/ruby/2018/24.yml +4 -4
  95. data/data/solutions/reddit/ruby/2018/25.yml +6 -6
  96. data/data/solutions/reddit/ruby/2019/01.yml +11 -11
  97. data/data/solutions/reddit/ruby/2019/02.yml +13 -13
  98. data/data/solutions/reddit/ruby/2019/03.yml +7 -7
  99. data/data/solutions/reddit/ruby/2019/04.yml +11 -11
  100. data/data/solutions/reddit/ruby/2019/05.yml +10 -10
  101. data/data/solutions/reddit/ruby/2019/06.yml +7 -7
  102. data/data/solutions/reddit/ruby/2019/07.yml +8 -8
  103. data/data/solutions/reddit/ruby/2019/08.yml +8 -8
  104. data/data/solutions/reddit/ruby/2019/09.yml +4 -4
  105. data/data/solutions/reddit/ruby/2019/10.yml +4 -4
  106. data/data/solutions/reddit/ruby/2019/11.yml +7 -7
  107. data/data/solutions/reddit/ruby/2019/12.yml +17 -17
  108. data/data/solutions/reddit/ruby/2019/13.yml +6 -6
  109. data/data/solutions/reddit/ruby/2019/14.yml +2 -2
  110. data/data/solutions/reddit/ruby/2019/15.yml +3 -3
  111. data/data/solutions/reddit/ruby/2019/16.yml +6 -6
  112. data/data/solutions/reddit/ruby/2019/17.yml +3 -3
  113. data/data/solutions/reddit/ruby/2019/18.yml +1 -1
  114. data/data/solutions/reddit/ruby/2019/20.yml +9 -9
  115. data/data/solutions/reddit/ruby/2019/21.yml +3 -3
  116. data/data/solutions/reddit/ruby/2019/22.yml +3 -3
  117. data/data/solutions/reddit/ruby/2019/23.yml +1 -1
  118. data/data/solutions/reddit/ruby/2019/25.yml +2 -2
  119. data/data/solutions/reddit/ruby/2020/01.yml +30 -30
  120. data/data/solutions/reddit/ruby/2020/02.yml +25 -25
  121. data/data/solutions/reddit/ruby/2020/03.yml +17 -17
  122. data/data/solutions/reddit/ruby/2020/04.yml +26 -26
  123. data/data/solutions/reddit/ruby/2020/05.yml +35 -35
  124. data/data/solutions/reddit/ruby/2020/06.yml +40 -40
  125. data/data/solutions/reddit/ruby/2020/07.yml +16 -16
  126. data/data/solutions/reddit/ruby/2020/08.yml +13 -13
  127. data/data/solutions/reddit/ruby/2020/09.yml +21 -21
  128. data/data/solutions/reddit/ruby/2020/10.yml +29 -29
  129. data/data/solutions/reddit/ruby/2020/11.yml +8 -8
  130. data/data/solutions/reddit/ruby/2020/12.yml +22 -22
  131. data/data/solutions/reddit/ruby/2020/13.yml +15 -15
  132. data/data/solutions/reddit/ruby/2020/14.yml +11 -11
  133. data/data/solutions/reddit/ruby/2020/15.yml +9 -9
  134. data/data/solutions/reddit/ruby/2020/16.yml +13 -13
  135. data/data/solutions/reddit/ruby/2020/17.yml +11 -11
  136. data/data/solutions/reddit/ruby/2020/18.yml +19 -19
  137. data/data/solutions/reddit/ruby/2020/19.yml +18 -18
  138. data/data/solutions/reddit/ruby/2020/20.yml +4 -4
  139. data/data/solutions/reddit/ruby/2020/21.yml +4 -4
  140. data/data/solutions/reddit/ruby/2020/22.yml +8 -8
  141. data/data/solutions/reddit/ruby/2020/23.yml +4 -4
  142. data/data/solutions/reddit/ruby/2020/24.yml +6 -6
  143. data/data/solutions/reddit/ruby/2020/25.yml +6 -6
  144. data/data/solutions/reddit/ruby/2021/01.yml +74 -74
  145. data/data/solutions/reddit/ruby/2021/02.yml +45 -45
  146. data/data/solutions/reddit/ruby/2021/03.yml +43 -43
  147. data/data/solutions/reddit/ruby/2021/04.yml +23 -23
  148. data/data/solutions/reddit/ruby/2021/05.yml +16 -16
  149. data/data/solutions/reddit/ruby/2021/06.yml +35 -35
  150. data/data/solutions/reddit/ruby/2021/07.yml +26 -26
  151. data/data/solutions/reddit/ruby/2021/08.yml +15 -15
  152. data/data/solutions/reddit/ruby/2021/09.yml +11 -11
  153. data/data/solutions/reddit/ruby/2021/10.yml +9 -9
  154. data/data/solutions/reddit/ruby/2021/11.yml +12 -12
  155. data/data/solutions/reddit/ruby/2021/12.yml +8 -8
  156. data/data/solutions/reddit/ruby/2021/13.yml +13 -13
  157. data/data/solutions/reddit/ruby/2021/14.yml +10 -10
  158. data/data/solutions/reddit/ruby/2021/15.yml +10 -10
  159. data/data/solutions/reddit/ruby/2021/16.yml +8 -8
  160. data/data/solutions/reddit/ruby/2021/17.yml +6 -6
  161. data/data/solutions/reddit/ruby/2021/18.yml +5 -5
  162. data/data/solutions/reddit/ruby/2021/19.yml +3 -3
  163. data/data/solutions/reddit/ruby/2021/20.yml +5 -5
  164. data/data/solutions/reddit/ruby/2021/21.yml +5 -5
  165. data/data/solutions/reddit/ruby/2021/22.yml +4 -4
  166. data/data/solutions/reddit/ruby/2021/23.yml +7 -7
  167. data/data/solutions/reddit/ruby/2021/24.yml +8 -8
  168. data/data/solutions/reddit/ruby/2021/25.yml +4 -4
  169. data/data/solutions/reddit/ruby/2022/01.yml +29 -29
  170. data/data/solutions/reddit/ruby/2022/02.yml +21 -21
  171. data/data/solutions/reddit/ruby/2022/03.yml +35 -35
  172. data/data/solutions/reddit/ruby/2022/04.yml +42 -42
  173. data/data/solutions/reddit/ruby/2022/05.yml +29 -29
  174. data/data/solutions/reddit/ruby/2022/06.yml +38 -38
  175. data/data/solutions/reddit/ruby/2022/07.yml +25 -25
  176. data/data/solutions/reddit/ruby/2022/08.yml +9 -9
  177. data/data/solutions/reddit/ruby/2022/09.yml +18 -18
  178. data/data/solutions/reddit/ruby/2022/10.yml +14 -14
  179. data/data/solutions/reddit/ruby/2022/11.yml +7 -7
  180. data/data/solutions/reddit/ruby/2022/12.yml +2 -2
  181. data/data/solutions/reddit/ruby/2022/13.yml +9 -9
  182. data/data/solutions/reddit/ruby/2022/14.yml +5 -5
  183. data/data/solutions/reddit/ruby/2022/15.yml +6 -6
  184. data/data/solutions/reddit/ruby/2022/16.yml +5 -5
  185. data/data/solutions/reddit/ruby/2022/17.yml +2 -2
  186. data/data/solutions/reddit/ruby/2022/18.yml +6 -6
  187. data/data/solutions/reddit/ruby/2022/19.yml +3 -3
  188. data/data/solutions/reddit/ruby/2022/20.yml +12 -12
  189. data/data/solutions/reddit/ruby/2022/21.yml +11 -11
  190. data/data/solutions/reddit/ruby/2022/22.yml +4 -4
  191. data/data/solutions/reddit/ruby/2022/24.yml +10 -10
  192. data/data/solutions/reddit/ruby/2022/25.yml +10 -10
  193. data/data/solutions/reddit/ruby/2023/01.yml +52 -52
  194. data/data/solutions/reddit/ruby/2023/02.yml +21 -21
  195. data/data/solutions/reddit/ruby/2023/03.yml +18 -18
  196. data/data/solutions/reddit/ruby/2023/04.yml +31 -31
  197. data/data/solutions/reddit/ruby/2023/05.yml +14 -14
  198. data/data/solutions/reddit/ruby/2023/06.yml +24 -24
  199. data/data/solutions/reddit/ruby/2023/07.yml +32 -32
  200. data/data/solutions/reddit/ruby/2023/08.yml +20 -20
  201. data/data/solutions/reddit/ruby/2023/09.yml +32 -32
  202. data/data/solutions/reddit/ruby/2023/10.yml +18 -18
  203. data/data/solutions/reddit/ruby/2023/11.yml +16 -16
  204. data/data/solutions/reddit/ruby/2023/12.yml +5 -5
  205. data/data/solutions/reddit/ruby/2023/13.yml +6 -6
  206. data/data/solutions/reddit/ruby/2023/14.yml +14 -14
  207. data/data/solutions/reddit/ruby/2023/15.yml +13 -13
  208. data/data/solutions/reddit/ruby/2023/16.yml +8 -8
  209. data/data/solutions/reddit/ruby/2023/18.yml +5 -5
  210. data/data/solutions/reddit/ruby/2023/19.yml +6 -6
  211. data/data/solutions/reddit/ruby/2023/20.yml +9 -9
  212. data/data/solutions/reddit/ruby/2023/21.yml +5 -5
  213. data/data/solutions/reddit/ruby/2023/22.yml +2 -2
  214. data/data/solutions/reddit/ruby/2023/23.yml +1 -1
  215. data/data/solutions/reddit/ruby/2023/25.yml +1 -1
  216. data/data/solutions/reddit/ruby/2024/01.yml +15 -15
  217. data/data/solutions/reddit/ruby/2024/02.yml +17 -17
  218. data/data/solutions/reddit/ruby/2024/03.yml +43 -43
  219. data/data/solutions/reddit/ruby/2024/04.yml +18 -18
  220. data/data/solutions/reddit/ruby/2024/05.yml +29 -29
  221. data/data/solutions/reddit/ruby/2024/06.yml +19 -19
  222. data/data/solutions/reddit/ruby/2024/07.yml +26 -26
  223. data/data/solutions/reddit/ruby/2024/08.yml +15 -15
  224. data/data/solutions/reddit/ruby/2024/09.yml +5 -5
  225. data/data/solutions/reddit/ruby/2024/10.yml +9 -9
  226. data/data/solutions/reddit/ruby/2024/11.yml +15 -15
  227. data/data/solutions/reddit/ruby/2024/12.yml +9 -9
  228. data/data/solutions/reddit/ruby/2024/13.yml +10 -10
  229. data/data/solutions/reddit/ruby/2024/14.yml +6 -6
  230. data/data/solutions/reddit/ruby/2024/15.yml +5 -5
  231. data/data/solutions/reddit/ruby/2024/16.yml +4 -4
  232. data/data/solutions/reddit/ruby/2024/17.yml +11 -11
  233. data/data/solutions/reddit/ruby/2024/18.yml +9 -9
  234. data/data/solutions/reddit/ruby/2024/19.yml +16 -16
  235. data/data/solutions/reddit/ruby/2024/20.yml +8 -8
  236. data/data/solutions/reddit/ruby/2024/21.yml +3 -3
  237. data/data/solutions/reddit/ruby/2024/22.yml +8 -8
  238. data/data/solutions/reddit/ruby/2024/23.yml +13 -13
  239. data/data/solutions/reddit/ruby/2024/24.yml +7 -7
  240. data/data/solutions/reddit/ruby/2024/25.yml +14 -14
  241. data/lib/arb/api/aoc.rb +2 -2
  242. data/lib/arb/cli/run.rb +2 -3
  243. data/lib/arb/version.rb +1 -1
  244. data/lib/download_solutions/api/reddit/get_serial_comments.rb +1 -1
  245. metadata +2 -2
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  - :author: careyi4
3
- :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdcswsg/
3
+ :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdcswsg
4
4
  :body: |-
5
5
  Fun today messing with pattern matching... Partial manual for part 2, but still fast etc.
6
6
 
7
7
  [Github](https://github.com/careyi3/aoc_2023/tree/master/solutions/14)[Video Walkthrough](https://youtu.be/Ta9mF9YuLBg)
8
8
  :replies: []
9
9
  - :author: Nnnes
10
- :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdbokqb/
10
+ :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdbokqb
11
11
  :body: |-
12
12
  No half-punchcard-sized solutions for both parts yet? Here's one
13
13
 
@@ -30,7 +30,7 @@
30
30
  Here's a drop-in replacement for `f()` that reduces total runtime to under 0.9 seconds: [paste](https://topaz.github.io/paste/#XQAAAQAsAQAAAAAAAAAyGUj/Tv+WAV3g/Epryrh8/EkGcaOk2Vq/TzdNF3JIxxliAwe73NuADxZL1UqbLlDPlP1BSWDzX265F9rQceiT3VKKrtzFhN9hkWUz4uKRVnQjVjpCKH8tY8Wr/O/SEUYEG8n2FVbUu5kXHqJF8e6AzlrpGOvaPDZw+3Dn7PaKB43Uf1qd6KfmhX6hDA/1Ih8giCPGvQs7UaBiguCuIWFDCkdloSHE5qxaFd1VXAASaq+NmGwf/7WTyQA=) — very straightforward; just remembers where the next rock should roll to as it iterates through each line. `.`s get replaced by `nil`s because it's a little faster that way. Converting all the single-character strings to integers to begin with saves another ~10% on runtime.
31
31
  :replies: []
32
32
  - :author: glebm
33
- :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdadna3/
33
+ :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdadna3
34
34
  :body: |-
35
35
  Both parts start with `tilt_north` and `north_load` functions:
36
36
 
@@ -104,11 +104,11 @@
104
104
  https://github.com/glebm/advent-of-code
105
105
  :replies:
106
106
  - :author: globalreset
107
- :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdafdnz/
107
+ :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdafdnz
108
108
  :body: I had no idea lazy enumerations were a thing in Ruby. Love this about AoC, just finding out about unique language features that I wouldn't otherwise see.
109
109
  :replies: []
110
110
  - :author: globalreset
111
- :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdad6l7/
111
+ :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdad6l7
112
112
  :body: |-
113
113
  3905/1478
114
114
 
@@ -117,34 +117,34 @@
117
117
  [github](https://github.com/globalreset/advent_of_code_2023/blob/main/2023/14/solution.rb)
118
118
  :replies:
119
119
  - :author: e36freak92
120
- :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdaf7h4/
120
+ :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdaf7h4
121
121
  :body: I stored cycle start and cycle length, then the result is the load from cycle loop\_start + ((total\_cycles - loop\_start) % loop\_len).
122
122
  :replies: []
123
123
  - :author: schveiguy
124
- :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdag59k/
124
+ :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdag59k
125
125
  :body: |-
126
126
  The way to find cycles is to use Floyd's Tortoise and Hare algorithm: [https://en.wikipedia.org/wiki/Cycle\_detection](https://en.wikipedia.org/wiki/Cycle_detection)
127
127
 
128
128
  That tells you that there _is_ a cycle, and then you need to measure the cycle by running it once.
129
129
  :replies:
130
130
  - :author: globalreset
131
- :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdahfp4/
131
+ :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdahfp4
132
132
  :body: It's hard to figure out how Floyd's applies to these grid states. But I'll chew on this a bit and see if I can make the connection.
133
133
  :replies:
134
134
  - :author: schveiguy
135
- :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdc1k8j/
135
+ :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdc1k8j
136
136
  :body: You compare the entire grid (at least that's what I did). Remember, you are just running the same algorithm, on one grid you run it 2x per step, on the other you run it 1x. then compare at each step and see if they are equal -- this means there's a cycle. It's cheap enough because you are comparing what, like 100 strings? If there wasn't a cycle, yeah, it would be super inefficient, but once you get the cycle, you can stop and skip to the end!
137
137
  :replies:
138
138
  - :author: globalreset
139
- :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdffpla/
139
+ :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdffpla
140
140
  :body: Ah! I get it. Run 2 different grids at different rates until they match let's you skip all the storage, so you're only ever storing one grid for the tortoise rate and one for the hare rate. Thanks for clarifying! That's going to come in handy.
141
141
  :replies: []
142
142
  - :author: globalreset
143
- :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdaez2b/
143
+ :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdaez2b
144
144
  :body: okay, tried what I thought the trick might be and dropped 10 seconds off my runtime. 3 seconds is still pretty slow, but my rock moving is probably not the most efficient solution either.
145
145
  :replies: []
146
146
  - :author: gurgeous
147
- :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdagghb/
147
+ :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdagghb
148
148
  :body: |-
149
149
  165/776
150
150
 
@@ -153,7 +153,7 @@
153
153
  [paste](https://topaz.github.io/paste/#XQAAAQCmAwAAAAAAAAAyGUj/TzqOZqu+85MIr+7I2PN0WUff+HeS/WSf1Fe62O1gtVpl8OjMxtl/mhz9FSocwvtz4RdGpsL1Re/3qZhzm9C3LM7XtpH3TBE91Whglx5p6C36lD9FCX71oyeCcfUQ0nIPQX85mZYeDnmO9pRJ3lS5xFaBMRozGIgacXXv/TS7kWytUCvfMtvJ/nMhTMalZbD21+steDVdBSwziMIX8n+/kJfukSfyHRs+x2B/jUgpeDZ/TluULjsq6RkPkALQ2Vc6twgYgUZvmcDg3+Y3iz5aAupStQHtkxAC8YQOtSe5W3sWEMKvsO31XQH2RZv41gkyn+IiRN00boU5SvRNrKrW0WLfK+SFRzZTP+WLgzHpNQaE+jeEyObrGaNC0kWiPE7oH3TT11GazIZUfEZr6axFqiTpqi6ArDslX5lIrVPmVfytbjQFfV/T+mJHeu4/JgLHwaMoehSjZZsJey/DVwkqdWmfUroBMSQFQMC25UVo30y1dcdOosZGpxPSh4w68w3t/T2K59YyY7yaoJACT7s6iHQZN6rLszUis2aA+2NFhs6Wj1FSohX87BkOADPHsodB+Nsi8erZLeW3apbCKG4PJBc+0f2rR0U=)
154
154
  :replies: []
155
155
  - :author: p_tseng
156
- :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdauk3g/
156
+ :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdauk3g
157
157
  :body: |-
158
158
  [Language: Haskell]
159
159
 
@@ -164,7 +164,7 @@
164
164
  Haskell: [14_parabolic_reflector\_dish.hs](https://github.com/petertseng/adventofcode-hs-2023/blob/master/bin/14_parabolic_reflector_dish.hs)
165
165
  :replies: []
166
166
  - :author: Symbroson
167
- :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdc1uax/
167
+ :url: https://www.reddit.com/r/adventofcode/comments/18i0xtn/2023_day_14_solutions/kdc1uax
168
168
  :body: |-
169
169
  Nothing special from me today I guess
170
170
 
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  - :author: Alkyonios
3
- :url: https://www.reddit.com/r/adventofcode/comments/18isayp/2023_day_15_solutions/kdjwijt/
3
+ :url: https://www.reddit.com/r/adventofcode/comments/18isayp/2023_day_15_solutions/kdjwijt
4
4
  :body: |-
5
5
  [Solution](https://topaz.github.io/paste/#XQAAAQBVBwAAAAAAAAAxmwhIY/VDibXTN1fVPjOQKOvNhTjhh6MlGoy6ibz1iEMOgACrQ5UT6jZCV2MNYRyRjfcPzt7zUln0NoxniFxfK850joUc7UXz65mcQykbFCHKmeB61AlecR4ZUlQWWWT5eePwbOgiMawUdgPMHezxMAPYChpDRZ/18RsF1kYif2mAW7rsyEgP+UPKjWdJC74VBzSlGDTZDhK1wqGSa6+uCaZApJ8LmfyHImGYOYTxTLpigPYtwUceSRKpR3dDeKUD2wruV9tPiMV5ffbcH/yeV4AvkxgQ9FzG7L5oiyNhyytH8ZdeM0cekBIaR7UYumuD+8L2UPCvNowUppzTrzaVynz+K89qyeBizCH9TuoMFPt1IccNJbe7rQSH848ec8FniInEUdSImWUpuFG5YWaKLq3JMBCUAnclPMOIxWF8M7F1L5V9AOJP1dT6jiEqejOT/gvuwVUM0lbyUntFRgCnRHBYml7uCGQwlu17rGIO+om4mqhWctvmj7132imC8Ks+zbGeGVhVxfJmZLoY+zWT5Bvn+vbHI/GjUPd9anMiMXU33GDBUnPbUBmgMAxmTXqNbIM08uJCXqYgLk4bfQIJEtKgXiG4jW79DRcvHVo+s3e60h0Z8QFpKUxeqsv6xtdAMY5PGfEoGZaOO7m9jP1c1RJVJXlv9lkaYs2gmZMagoG0d+KQ57epRi88OYvkW5P2SPhOXpssz1jyDH5W+mLF9dcNE1hQocbMkQlhQefFxLiWjGhNPZqay9LsUYpwf+4MMgf0vtLaUDkS9l1bAwLLt67egX7s/0g0nQA=)
6
6
 
7
7
  It took an embarrasing amount of time to figure out what "relevant box" meant in part 2, otherwise smooth sailing.
8
8
  :replies: []
9
9
  - :author: SleepingInsomniac
10
- :url: https://www.reddit.com/r/adventofcode/comments/18isayp/2023_day_15_solutions/kdj3gsa/
10
+ :url: https://www.reddit.com/r/adventofcode/comments/18isayp/2023_day_15_solutions/kdj3gsa
11
11
  :body: |-
12
12
  [Part 2](https://github.com/SleepingInsomniac/adventofcode2023/blob/master/2023-12-15/part_2.rb)
13
13
 
@@ -43,7 +43,7 @@
43
43
  Is it cheating to use a hash map in the hash map implementation? haha.
44
44
  :replies: []
45
45
  - :author: Nnnes
46
- :url: https://www.reddit.com/r/adventofcode/comments/18isayp/2023_day_15_solutions/kdfzzzq/
46
+ :url: https://www.reddit.com/r/adventofcode/comments/18isayp/2023_day_15_solutions/kdfzzzq
47
47
  :body: |-
48
48
  Already put up a solution, but this one deserves its own comment
49
49
 
@@ -73,7 +73,7 @@
73
73
  `.scan` finds all matches of the regex. For example, `"aa=1 aa=2 aa- os=4 aa=6 os=5"` becomes `[["os", "5"], ["aa", "6"], ["os", "5"]]`. `.uniq` preserves order of the first instance of each element, deleting the second `["os", "5"]`, but the first one already has the `"5"` due to the positive lookahead. All the `aa`s before the `aa-` get ignored due to the negative lookahead.
74
74
  :replies: []
75
75
  - :author: SleepingInsomniac
76
- :url: https://www.reddit.com/r/adventofcode/comments/18isayp/2023_day_15_solutions/kdfea3e/
76
+ :url: https://www.reddit.com/r/adventofcode/comments/18isayp/2023_day_15_solutions/kdfea3e
77
77
  :body: |-
78
78
  Part 1 Solution
79
79
 
@@ -96,7 +96,7 @@
96
96
  ```
97
97
  :replies: []
98
98
  - :author: Nnnes
99
- :url: https://www.reddit.com/r/adventofcode/comments/18isayp/2023_day_15_solutions/kdfpx7r/
99
+ :url: https://www.reddit.com/r/adventofcode/comments/18isayp/2023_day_15_solutions/kdfpx7r
100
100
  :body: |-
101
101
  Easy half-punchcard day again
102
102
 
@@ -113,7 +113,7 @@
113
113
  - Ruby guarantees Hashes stay in order, so no extra ordering code needed for that part of the problem statement.
114
114
  :replies: []
115
115
  - :author: careyi4
116
- :url: https://www.reddit.com/r/adventofcode/comments/18isayp/2023_day_15_solutions/kdg8a2m/
116
+ :url: https://www.reddit.com/r/adventofcode/comments/18isayp/2023_day_15_solutions/kdg8a2m
117
117
  :body: |-
118
118
  Mercifully easier than the last few days!
119
119
 
@@ -122,7 +122,7 @@
122
122
  [Video Walkthrough](https://youtu.be/cVG4S9MZ_pg)
123
123
  :replies: []
124
124
  - :author: Symbroson
125
- :url: https://www.reddit.com/r/adventofcode/comments/18isayp/2023_day_15_solutions/kdgbuzp/
125
+ :url: https://www.reddit.com/r/adventofcode/comments/18isayp/2023_day_15_solutions/kdgbuzp
126
126
  :body: |-
127
127
  ```ruby
128
128
  input = $<.read.tr("\r\n", '').split(',')
@@ -141,7 +141,7 @@
141
141
  ```
142
142
  :replies: []
143
143
  - :author: RelativeLead5
144
- :url: https://www.reddit.com/r/adventofcode/comments/18isayp/2023_day_15_solutions/kdgoi4d/
144
+ :url: https://www.reddit.com/r/adventofcode/comments/18isayp/2023_day_15_solutions/kdgoi4d
145
145
  :body: |-
146
146
  PARTS 1 & 2
147
147
 
@@ -177,28 +177,28 @@
177
177
  ```
178
178
  :replies: []
179
179
  - :author: globalreset
180
- :url: https://www.reddit.com/r/adventofcode/comments/18isayp/2023_day_15_solutions/kdfg60v/
180
+ :url: https://www.reddit.com/r/adventofcode/comments/18isayp/2023_day_15_solutions/kdfg60v
181
181
  :body: |-
182
182
  This was straight-up a reading comprehension problem. I probably wasted 2 minutes on part 1 because I couldn't accept how easy it was. And another 10 minutes on part 2 because I had no clue what it was trying to say with the boxes and focal lengths. I eventually got there.
183
183
 
184
184
  [github](https://github.com/globalreset/advent_of_code_2023/blob/main/2023/15/solution.rb)
185
185
  :replies: []
186
186
  - :author: Unhappy_Adeptness_93
187
- :url: https://www.reddit.com/r/adventofcode/comments/18isayp/2023_day_15_solutions/kdfk34a/
187
+ :url: https://www.reddit.com/r/adventofcode/comments/18isayp/2023_day_15_solutions/kdfk34a
188
188
  :body: |-
189
189
  [Github solution](https://github.com/andyAtChime/advent_of_code/blob/solutions-2023/2023/code/day_15.rb)
190
190
 
191
191
  This was real easy, once I grokked the prompt. Bummed there's no scale problem to solve today, but nbd, off to bed!
192
192
  :replies: []
193
193
  - :author: gurgeous
194
- :url: https://www.reddit.com/r/adventofcode/comments/18isayp/2023_day_15_solutions/kdfk8om/
194
+ :url: https://www.reddit.com/r/adventofcode/comments/18isayp/2023_day_15_solutions/kdfk8om
195
195
  :body: |-
196
196
  Pretty straightforward IMO. Only took a few minutes and got it right on the first try, which is rare for me. Ruby makes these problems real easy.
197
197
 
198
198
  [paste](https://topaz.github.io/paste/#XQAAAQDwAQAAAAAAAAAyGUj/TxK9OVMABPZ1+6kdVpmDcy636sJnvuQ9xEHSh/N4El930DvPBYXafRaInATDNw2+ta4UMyG+hWEGO6MiAJhm2q6S+1NEgtkb+fLJFq4o5ckQ4k7+Tx+GYY8nM2FwbmHCyI2LkahpnEkJQjXbe0JAuXfY5374G/77MhHYKWaGolc3iin/X3Juh/aZYZM1yZxV1Cvz2xxtcSq4eKaTmn6DShqcO2cSrBb/xY9sMP1AnEqkGoinghLyKAzAAT1/4vuPQgFy2s27VtuA1Mpv5u26wChELg8o3Ugu47DSK01+fv3cj4JOMMIKECz8IhA9gne+/5VybgP0aLo0pUbtPBeA/+2vhcNVnqqACmP67NCHRChqsN083MIUHf1Nec97XNVTlQy3WkYhwyfgDJqT/uSOF1VVjJAZm53mmWj7tQY0dVCP+0JlpA==)
199
199
  :replies: []
200
200
  - :author: Annual-Management613
201
- :url: https://www.reddit.com/r/adventofcode/comments/18isayp/2023_day_15_solutions/kdftvfj/
201
+ :url: https://www.reddit.com/r/adventofcode/comments/18isayp/2023_day_15_solutions/kdftvfj
202
202
  :body: |-
203
203
  ```ruby
204
204
  # frozen_string_literal: true
@@ -236,7 +236,7 @@
236
236
  ```
237
237
  :replies: []
238
238
  - :author: stanimirov
239
- :url: https://www.reddit.com/r/adventofcode/comments/18isayp/2023_day_15_solutions/kdfxje1/
239
+ :url: https://www.reddit.com/r/adventofcode/comments/18isayp/2023_day_15_solutions/kdfxje1
240
240
  :body: |-
241
241
  part 1 (76 characters):
242
242
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  - :author: careyi4
3
- :url: https://www.reddit.com/r/adventofcode/comments/18jjpfk/2023_day_16_solutions/kdn3qv8/
3
+ :url: https://www.reddit.com/r/adventofcode/comments/18jjpfk/2023_day_16_solutions/kdn3qv8
4
4
  :body: |-
5
5
  Simple enough one for today, relatively easy part 2 aswell!
6
6
 
@@ -9,42 +9,42 @@
9
9
  [Video Walkthrough](https://youtu.be/v6RRjYtKZp0)
10
10
  :replies: []
11
11
  - :author: gurgeous
12
- :url: https://www.reddit.com/r/adventofcode/comments/18jjpfk/2023_day_16_solutions/kdku2vm/
12
+ :url: https://www.reddit.com/r/adventofcode/comments/18jjpfk/2023_day_16_solutions/kdku2vm
13
13
  :body: |-
14
14
  I had to visualize in order to debug my implementation, as always. Fun vector math in there.
15
15
 
16
16
  [paste](https://topaz.github.io/paste/#XQAAAQBtAwAAAAAAAAARiAtiSZmv5W81CEWn2ldCAgetNtQcNTWMJW3x9RERU/qSgOgOyl0i2EBY2pG2rjun37SjK/wfQuoGDrY0vbfaYJlby+LJV3hN04Vzt7BkwuWUXe0hvtn0T3oedYSccPBPc/EquONkD0ayk2xic/8FQU+MC9qv0E+H+A8M6MGXUoqY0gQrfBT6DOgx4CYECRm7MuGpsJ2ustySNRuaAJJVmE6bptToK0/b/KwkzChYrUxzjPmNtA4v/zBSykwYkNlu3Yge/12O+TX4VIzwFr/fiovveuMItj/Y3o1TG+d3RemXhHdLHOvjTfeVp+30c7DVWXb9s/p4Ac1KZirbOLMfvuxDk7X+UhZmpObQja54oaxrEtwqykMRsUtaH6TMEm7QT5jf3i7jpopy3RSyzRvZBHBB+H9b/B5zYNA1ULULbgKaLGOtoRdfvPW0yVKtXjzbFAjiCfoYam/x4gsH4FNvam/SHHOwefPJl7+GWMx0RiMtilg2BQ2wlRlKsczt46+ozrHIykZbNF/gvt3eXayEYii3e4LGNdgs2xXTnqw/s6Jjb4nOCnoqHXZ0ycv2auM/Zti9BHDi22aBHX5b2QET/b3OvA==)
17
17
  :replies: []
18
18
  - :author: globalreset
19
- :url: https://www.reddit.com/r/adventofcode/comments/18jjpfk/2023_day_16_solutions/kdl0q2i/
19
+ :url: https://www.reddit.com/r/adventofcode/comments/18jjpfk/2023_day_16_solutions/kdl0q2i
20
20
  :body: |-
21
21
  Spent so long debugging this. I was immediately very happy with my solution. Short and efficient enough. But I had a bug in part 1 until I figured out that I should start one space off the map for how my routine was written. Then in part 2 it turned out that starting one space off the map made a lot of sense.
22
22
 
23
23
  [github](https://github.com/globalreset/advent_of_code_2023/blob/main/2023/16/solution.rb)
24
24
  :replies: []
25
25
  - :author: RelativeLead5
26
- :url: https://www.reddit.com/r/adventofcode/comments/18jjpfk/2023_day_16_solutions/kdmb639/
26
+ :url: https://www.reddit.com/r/adventofcode/comments/18jjpfk/2023_day_16_solutions/kdmb639
27
27
  :body: |-
28
28
  PARTS 1 & 2
29
29
 
30
30
  [pastebin](https://pastebin.com/E60df0LL)
31
31
  :replies:
32
32
  - :author: selbysaurus_
33
- :url: https://www.reddit.com/r/adventofcode/comments/18jjpfk/2023_day_16_solutions/kdmvwl4/
33
+ :url: https://www.reddit.com/r/adventofcode/comments/18jjpfk/2023_day_16_solutions/kdmvwl4
34
34
  :body: How fast was this for part 1?
35
35
  :replies:
36
36
  - :author: RelativeLead5
37
- :url: https://www.reddit.com/r/adventofcode/comments/18jjpfk/2023_day_16_solutions/kdngqru/
37
+ :url: https://www.reddit.com/r/adventofcode/comments/18jjpfk/2023_day_16_solutions/kdngqru
38
38
  :body: Around 10-12 milliseconds on my mac m1.
39
39
  :replies:
40
40
  - :author: selbysaurus_
41
- :url: https://www.reddit.com/r/adventofcode/comments/18jjpfk/2023_day_16_solutions/kdoc3nc/
41
+ :url: https://www.reddit.com/r/adventofcode/comments/18jjpfk/2023_day_16_solutions/kdoc3nc
42
42
  :body: |-
43
43
  Yikes! Mine was taking just over 10 seconds, and after much refactoring I realised the difference was your use of `Set` instead of an array for storing the visited points. One quick change and I'm faster by a factor of 1000.
44
44
 
45
45
  Time to go and read up about sets, I think!
46
46
  :replies:
47
47
  - :author: RelativeLead5
48
- :url: https://www.reddit.com/r/adventofcode/comments/18jjpfk/2023_day_16_solutions/kdouu7f/
48
+ :url: https://www.reddit.com/r/adventofcode/comments/18jjpfk/2023_day_16_solutions/kdouu7f
49
49
  :body: Yep, quite the difference and the number of visited nodes isn't even that large but searching arrays is pretty slow.
50
50
  :replies: []
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  - :author: careyi4
3
- :url: https://www.reddit.com/r/adventofcode/comments/18l0qtr/2023_day_18_solutions/kdxofxy/
3
+ :url: https://www.reddit.com/r/adventofcode/comments/18l0qtr/2023_day_18_solutions/kdxofxy
4
4
  :body: |-
5
5
  More or less a day 10 repeat!
6
6
 
@@ -9,7 +9,7 @@
9
9
  [Video Walkthrough](https://youtu.be/oZDYH-c4_3c)
10
10
  :replies: []
11
11
  - :author: jstanley0
12
- :url: https://www.reddit.com/r/adventofcode/comments/18l0qtr/2023_day_18_solutions/kdxk8y7/
12
+ :url: https://www.reddit.com/r/adventofcode/comments/18l0qtr/2023_day_18_solutions/kdxk8y7
13
13
  :body: |-
14
14
  For part 1, I just did a flood fill. I thought "Ordinarily they'd probably say multiply each dig distance by a billion in part 2, but this time there are colors and they're not used in part 1, so they've gotta be involved in the second part!"
15
15
 
@@ -29,7 +29,7 @@
29
29
  Note that this code processes the part 1 input twice, with the flood fill and the scanning algorithm, as a sanity check.
30
30
  :replies: []
31
31
  - :author: GMarshal
32
- :url: https://www.reddit.com/r/adventofcode/comments/18l0qtr/2023_day_18_solutions/kdv3ktc/
32
+ :url: https://www.reddit.com/r/adventofcode/comments/18l0qtr/2023_day_18_solutions/kdv3ktc
33
33
  :body: |-
34
34
  2681/2823
35
35
 
@@ -40,7 +40,7 @@
40
40
  [part 2](https://gist.github.com/thecog19/64bd518b3c3c9b525f3b705fd1ca58c6)
41
41
  :replies: []
42
42
  - :author: _tfa
43
- :url: https://www.reddit.com/r/adventofcode/comments/18l0qtr/2023_day_18_solutions/kdv3r5y/
43
+ :url: https://www.reddit.com/r/adventofcode/comments/18l0qtr/2023_day_18_solutions/kdv3r5y
44
44
  :body: |-
45
45
  (Part 2)
46
46
 
@@ -67,7 +67,7 @@
67
67
  ```
68
68
  :replies: []
69
69
  - :author: RelativeLead5
70
- :url: https://www.reddit.com/r/adventofcode/comments/18l0qtr/2023_day_18_solutions/kdvvg9u/
70
+ :url: https://www.reddit.com/r/adventofcode/comments/18l0qtr/2023_day_18_solutions/kdvvg9u
71
71
  :body: |-
72
72
  Pretty straightforward. I really thought the colors were going to mean something more doing part 1, so I started thinking about how I might generalize for part 2, lol.
73
73
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  - :author: _tfa
3
- :url: https://www.reddit.com/r/adventofcode/comments/18ltr8m/2023_day_19_solutions/ke5y75c/
3
+ :url: https://www.reddit.com/r/adventofcode/comments/18ltr8m/2023_day_19_solutions/ke5y75c
4
4
  :body: |-
5
5
  (Part 2)
6
6
 
@@ -37,11 +37,11 @@
37
37
  ```
38
38
  :replies:
39
39
  - :author: craigontour
40
- :url: https://www.reddit.com/r/adventofcode/comments/18ltr8m/2023_day_19_solutions/ked1kfe/
40
+ :url: https://www.reddit.com/r/adventofcode/comments/18ltr8m/2023_day_19_solutions/ked1kfe
41
41
  :body: This is what I have been trying to do but couldn't work out how. Good job.
42
42
  :replies: []
43
43
  - :author: careyi4
44
- :url: https://www.reddit.com/r/adventofcode/comments/18ltr8m/2023_day_19_solutions/ke2pze2/
44
+ :url: https://www.reddit.com/r/adventofcode/comments/18ltr8m/2023_day_19_solutions/ke2pze2
45
45
  :body: |-
46
46
  Fun one today, similar appraoch to contract large numbers using ranges as was used in a previous solution this year.
47
47
 
@@ -50,7 +50,7 @@
50
50
  [Video Walkthrough](https://youtu.be/ck-owPcU5pA)
51
51
  :replies: []
52
52
  - :author: grimlyforming
53
- :url: https://www.reddit.com/r/adventofcode/comments/18ltr8m/2023_day_19_solutions/ke2bt2u/
53
+ :url: https://www.reddit.com/r/adventofcode/comments/18ltr8m/2023_day_19_solutions/ke2bt2u
54
54
  :body: |-
55
55
  I know an instruction-set emulation with conjunction/disjunction problem when I see it, but I needed about 2 hours to figure out what to do. The key insight came when I jotted down the constraints, hoping for an inductive epiphany.
56
56
 
@@ -75,7 +75,7 @@
75
75
  https://pastebin.com/rn1VWhG4
76
76
  :replies: []
77
77
  - :author: GMarshal
78
- :url: https://www.reddit.com/r/adventofcode/comments/18ltr8m/2023_day_19_solutions/ke06v22/
78
+ :url: https://www.reddit.com/r/adventofcode/comments/18ltr8m/2023_day_19_solutions/ke06v22
79
79
  :body: |-
80
80
  1855/1545
81
81
 
@@ -84,7 +84,7 @@
84
84
  A pretty neat solution involving range math. Its very verbose but I like that its understandable. Essentially each \> or \< is a split operation that divides the range.
85
85
  :replies: []
86
86
  - :author: globalreset
87
- :url: https://www.reddit.com/r/adventofcode/comments/18ltr8m/2023_day_19_solutions/ke0czap/
87
+ :url: https://www.reddit.com/r/adventofcode/comments/18ltr8m/2023_day_19_solutions/ke0czap
88
88
  :body: |-
89
89
  I nearly leapt from my chair when my part 2 worked first try (well, after it parsed cleanly). Skimming around here, I worry I might've over-complicated it, but I went with a DP-like solution where I explored every path that got me to an A, trimming down my 'xmas' ranges as I passed through each piece of each rule. And it came out pretty readable for me, so I'm happy with it.
90
90
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  - :author: RelativeLead5
3
- :url: https://www.reddit.com/r/adventofcode/comments/18mmfxb/2023_day_20_solutions/ke9prw0/
3
+ :url: https://www.reddit.com/r/adventofcode/comments/18mmfxb/2023_day_20_solutions/ke9prw0
4
4
  :body: |-
5
5
  Parts 1 & 2
6
6
 
@@ -9,7 +9,7 @@
9
9
  Thanks to everyone for the hints on Part 2. I left part 2 running while I was gone for a couple of hours and when it wasn't done when I came back, the head scratching began.
10
10
  :replies: []
11
11
  - :author: careyi4
12
- :url: https://www.reddit.com/r/adventofcode/comments/18mmfxb/2023_day_20_solutions/ke7jig8/
12
+ :url: https://www.reddit.com/r/adventofcode/comments/18mmfxb/2023_day_20_solutions/ke7jig8
13
13
  :body: |-
14
14
  Fun one today, lcm for the win (again)!!
15
15
 
@@ -18,14 +18,14 @@
18
18
  [Video Walkthrough](https://youtu.be/yjPjLHpHbnk)
19
19
  :replies: []
20
20
  - :author: globalreset
21
- :url: https://www.reddit.com/r/adventofcode/comments/18mmfxb/2023_day_20_solutions/ke5i6ni/
21
+ :url: https://www.reddit.com/r/adventofcode/comments/18mmfxb/2023_day_20_solutions/ke5i6ni
22
22
  :body: |-
23
23
  I'm a SystemVerilog RTL designer who works with flip flops all day and I had a hell of a time parsing this description in part 1. For part 2, I just let a (0..).find loop run while I thought about it and deconstructed the circuit on paper. Saw that there was a conjunction on 'rx', so immediately started throwing in debug to see how how often the inputs to that conjunction were toggling. Thank Zeus for Ruby's built-in LCM. In the end, I'm really happy with how simple the code came out for this.
24
24
 
25
25
  [github](https://github.com/globalreset/advent_of_code_2023/blob/main/2023/20/solution.rb)
26
26
  :replies:
27
27
  - :author: PillarsBliz
28
- :url: https://www.reddit.com/r/adventofcode/comments/18mmfxb/2023_day_20_solutions/ke5vdbi/
28
+ :url: https://www.reddit.com/r/adventofcode/comments/18mmfxb/2023_day_20_solutions/ke5vdbi
29
29
  :body: |-
30
30
  I'm a computer engineer, have messed with NAND gates and flipflops through my life / school, and I feel like it made the problem harder for me.
31
31
 
@@ -34,18 +34,18 @@
34
34
  And 2, even if 4 pulses are simultaneously generated for a NAND gate, the output pulses 4 times, NOT once. I was just simulating the entire circuit at once and it took me forever to catch this.
35
35
  :replies:
36
36
  - :author: globalreset
37
- :url: https://www.reddit.com/r/adventofcode/comments/18mmfxb/2023_day_20_solutions/ke6vbm3/
37
+ :url: https://www.reddit.com/r/adventofcode/comments/18mmfxb/2023_day_20_solutions/ke6vbm3
38
38
  :body: I agree that having an understanding of how flops work probably did make this harder. I don’t think I had any multiple driver issues on my flops. But I did have that exact same problem of waiting on the “final” state of each flop after a button push. For part 1, my pulse counter was counting every pulse it processed in one of two buckets. So for part 2, I just modified my pulse counter to keep a record of high/low pulses received at each node, then waited for at least one low pulse on the flops that fed the last conjunction. I still wasn’t sure this was going to result in all the flops being the right state for the conjunction to change (what if the lcm got one of the 4 to an odd state and the rest of the 4 to an even state). I thought I was still going to have work to do, but nope.
39
39
  :replies:
40
40
  - :author: PillarsBliz
41
- :url: https://www.reddit.com/r/adventofcode/comments/18mmfxb/2023_day_20_solutions/ke6zkrq/
41
+ :url: https://www.reddit.com/r/adventofcode/comments/18mmfxb/2023_day_20_solutions/ke6zkrq
42
42
  :body: |-
43
43
  I ended up making an input queue for every gate input, but that felt really dirty.
44
44
 
45
45
  I saw someone else made a general FIFO pulse array, just processing one at a time, which was probably a cleaner idea.
46
46
  :replies:
47
47
  - :author: globalreset
48
- :url: https://www.reddit.com/r/adventofcode/comments/18mmfxb/2023_day_20_solutions/ke71sl6/
48
+ :url: https://www.reddit.com/r/adventofcode/comments/18mmfxb/2023_day_20_solutions/ke71sl6
49
49
  :body: |-
50
50
  The general fifo is what I did. I think the “button push” function could hardly be simpler than this:
51
51
 
@@ -73,7 +73,7 @@
73
73
  ```
74
74
  :replies: []
75
75
  - :author: Symbroson
76
- :url: https://www.reddit.com/r/adventofcode/comments/18mmfxb/2023_day_20_solutions/ke6jmc1/
76
+ :url: https://www.reddit.com/r/adventofcode/comments/18mmfxb/2023_day_20_solutions/ke6jmc1
77
77
  :body: |-
78
78
  Ugly, [but works](https://github.com/alex-Symbroson/Advent-of-Code/blob/master/2023%2F20.rb)
79
79
 
@@ -82,7 +82,7 @@
82
82
  I was confused at first because the first cycle where all of the switches that trigger the node before rx was one lower than the rest of the looping cycles. Thats why I initially tried to use chinese reminder theorem to calculate lcm with offset but that wasn't the answer. Probably just a mistake caused by a wrong start offset so it detects the loop at the third cycle.
83
83
  :replies: []
84
84
  - :author: JelloRough
85
- :url: https://www.reddit.com/r/adventofcode/comments/18mmfxb/2023_day_20_solutions/ke5jsj9/
85
+ :url: https://www.reddit.com/r/adventofcode/comments/18mmfxb/2023_day_20_solutions/ke5jsj9
86
86
  :body: |-
87
87
  Because I don't see other Ruby solutions here is the [paste]([https://raw.githubusercontent.com/hugomosh/adventura-de-codigo/sandbox/2023/day20.rb](https://raw.githubusercontent.com/hugomosh/adventura-de-codigo/sandbox/2023/day20.rb))
88
88
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  - :author: careyi4
3
- :url: https://www.reddit.com/r/adventofcode/comments/18nevo3/2023_day_21_solutions/keh3elw/
3
+ :url: https://www.reddit.com/r/adventofcode/comments/18nevo3/2023_day_21_solutions/keh3elw
4
4
  :body: |-
5
5
  Very slow second part, but works, the maths trick for part 2 threw me for a loop!
6
6
 
@@ -9,7 +9,7 @@
9
9
  [Video Walkthrough](https://youtu.be/99Mjs1i0JxU)
10
10
  :replies: []
11
11
  - :author: kateba72
12
- :url: https://www.reddit.com/r/adventofcode/comments/18nevo3/2023_day_21_solutions/kebuguk/
12
+ :url: https://www.reddit.com/r/adventofcode/comments/18nevo3/2023_day_21_solutions/kebuguk
13
13
  :body: |-
14
14
  [Source](https://github.com/Kateba72/advent_of_code/blob/main/aoc/y2023/d21.rb)
15
15
 
@@ -50,11 +50,11 @@
50
50
  And after ~3 hours, I eliminated the last off-by-one error and got the correct solution
51
51
  :replies:
52
52
  - :author: Draco18s
53
- :url: https://www.reddit.com/r/adventofcode/comments/18nevo3/2023_day_21_solutions/kec8yj3/
53
+ :url: https://www.reddit.com/r/adventofcode/comments/18nevo3/2023_day_21_solutions/kec8yj3
54
54
  :body: I ended up with a very similar diagram in [my own doodly notes](https://github.com/Draco18s/Advent-of-Code-2023/blob/main/Day21.cs#L276).
55
55
  :replies: []
56
56
  - :author: Symbroson
57
- :url: https://www.reddit.com/r/adventofcode/comments/18nevo3/2023_day_21_solutions/kebeey6/
57
+ :url: https://www.reddit.com/r/adventofcode/comments/18nevo3/2023_day_21_solutions/kebeey6
58
58
  :body: |-
59
59
  Executes in ~1.5 seconds. [link to solution](https://github.com/alex-Symbroson/Advent-of-Code/blob/master/2023/21.rb)
60
60
 
@@ -63,7 +63,7 @@
63
63
  Optimized the time by adding a cache, because each step with the same parity can be calculated from the previous step with the same parity, plus the new steps. So we only need to re-calculate the current unvisited positions.
64
64
  :replies:
65
65
  - :author: Symbroson
66
- :url: https://www.reddit.com/r/adventofcode/comments/18nevo3/2023_day_21_solutions/keboy52/
66
+ :url: https://www.reddit.com/r/adventofcode/comments/18nevo3/2023_day_21_solutions/keboy52
67
67
  :body: |-
68
68
  I was able to optimize the quadratic formula by solving the quadratic formula equation system for `x = [-1, 0, 1]`, basically walking back in history. Halved execution time to about `650ms`
69
69
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  - :author: globalreset
3
- :url: https://www.reddit.com/r/adventofcode/comments/18o7014/2023_day_22_solutions/kefyqao/
3
+ :url: https://www.reddit.com/r/adventofcode/comments/18o7014/2023_day_22_solutions/kefyqao
4
4
  :body: |-
5
5
  Nice straight-forward one after yesterday's. For part 1, I created a collection of all the brick coordinates and then populated a grid to help with collision detection. Falling was just iterating through all of the bricks (sorted by the lower z value) and checking if the next z coordinate down was empty and moving the brick if not. Then I made two hashes, one to store all bricks above and another for below. I was surprised how fast the part 2 ran, I was expecting that a bfs per brick would've been a time sink.
6
6
 
@@ -22,7 +22,7 @@
22
22
  [github](https://github.com/globalreset/advent_of_code_2023/blob/main/2023/20/solution.rb)
23
23
  :replies: []
24
24
  - :author: '0x623'
25
- :url: https://www.reddit.com/r/adventofcode/comments/18o7014/2023_day_22_solutions/kefrpta/
25
+ :url: https://www.reddit.com/r/adventofcode/comments/18o7014/2023_day_22_solutions/kefrpta
26
26
  :body: |-
27
27
  Bit manipulation
28
28
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  - :author: baseballlover723
3
- :url: https://www.reddit.com/r/adventofcode/comments/18oy4pc/2023_day_23_solutions/kgdwvdw/
3
+ :url: https://www.reddit.com/r/adventofcode/comments/18oy4pc/2023_day_23_solutions/kgdwvdw
4
4
  :body: |-
5
5
  : [Github](https://github.com/baseballlover723/advent-of-code/blob/master/2023/ruby/).
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  - :author: kateba72
3
- :url: https://www.reddit.com/r/adventofcode/comments/18qbsxs/2023_day_25_solutions/keucgrf/
3
+ :url: https://www.reddit.com/r/adventofcode/comments/18qbsxs/2023_day_25_solutions/keucgrf
4
4
  :body: |-
5
5
  I had a blast today. This summer, I had a lecture on flow algorithms, which included an algorithm for finding a minimum cut. So, I took this opportunity to revise my knowledge and implement a flow algorithm for the first time.
6
6
 
@@ -1,13 +1,13 @@
1
1
  ---
2
2
  - :author: HAEC_EST_SPARTA
3
- :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/m0c0fmv/
3
+ :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/m0c0fmv
4
4
  :body: |-
5
5
  [Solution on sourcehut](https://git.sr.ht/%7Eawsmith/advent-of-code/tree/2024-ruby/item/lib/day01.rb)
6
6
 
7
7
  Using Ruby for this problem almost felt like cheating: between `Array#transpose` and `Enumerable#tally`, I barely had to write any code of my own :) My Ruby is definitely a bit rusty, so this was a nice opportunity to review those classes' interfaces in preparation for future days.
8
8
  :replies: []
9
9
  - :author: el_daniero
10
- :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lzvccp8/
10
+ :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lzvccp8
11
11
  :body: |-
12
12
  > This looks like a job for ... [Trans Pose](https://ruby-doc.org/3.3.6/Array.html#method-i-transpose)! :)
13
13
 
@@ -25,7 +25,7 @@
25
25
  ```
26
26
  :replies: []
27
27
  - :author: riffraff
28
- :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lztxpm4/
28
+ :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lztxpm4
29
29
  :body: |-
30
30
  7062/1094 I could have made it to the first 1k if I didn't have to help my wife with something between the two parts :D
31
31
 
@@ -56,7 +56,7 @@
56
56
  edit: usual complaint, I hate that ruby's `Array#zip` with a block returns `nil`
57
57
  :replies: []
58
58
  - :author: FCBStar-of-the-South
59
- :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lzx6a3o/
59
+ :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lzx6a3o
60
60
  :body: |-
61
61
  ```ruby
62
62
  lines = File.readlines('input1.txt', chomp: true)
@@ -87,7 +87,7 @@
87
87
  My very first Ruby script, critiques more than welcome!
88
88
  :replies: []
89
89
  - :author: Sharparam
90
- :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lztwobe/
90
+ :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lztwobe
91
91
  :body: |-
92
92
  ```ruby
93
93
  left, right = ARGF.readlines.map(&:split).map { _1.map(&:to_i) }.transpose
@@ -98,7 +98,7 @@
98
98
  Initially had a small bug in my part 2 with using `find` instead of `count`, I blame sleep deprivation!
99
99
  :replies: []
100
100
  - :author: The_Jare
101
- :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lzufxbj/
101
+ :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lzufxbj
102
102
  :body: |-
103
103
  ```ruby
104
104
  l1, l2 = ARGF.each.map(&:split).transpose.map {|x| x.map(&:to_i).sort }
@@ -107,7 +107,7 @@
107
107
  ```
108
108
  :replies: []
109
109
  - :author: glebm
110
- :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lzunulz/
110
+ :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lzunulz
111
111
  :body: |-
112
112
  ```ruby
113
113
  lists = $<.map { _1.scan(/\d+/).map(&:to_i) }.transpose
@@ -122,15 +122,15 @@
122
122
  ```
123
123
  :replies:
124
124
  - :author: stellar_opossum
125
- :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lzuqguv/
125
+ :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lzuqguv
126
126
  :body: "`left_element * right_list.count(left_element)`. Now that's `lazy`"
127
127
  :replies:
128
128
  - :author: glebm
129
- :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lzuzfy6/
129
+ :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lzuzfy6
130
130
  :body: That's quadratic, you're making the computer do all the work, so inconsiderate!
131
131
  :replies: []
132
132
  - :author: vinc686
133
- :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lzusygn/
133
+ :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lzusygn
134
134
  :body: |-
135
135
  https://github.com/vinc/advent-of-code
136
136
 
@@ -149,11 +149,11 @@
149
149
  ```
150
150
  :replies: []
151
151
  - :author: careyi4
152
- :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lzut10v/
152
+ :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lzut10v
153
153
  :body: "[https://github.com/careyi3/aoc\\_2024/tree/master/solutions/1](https://github.com/careyi3/aoc_2024/tree/master/solutions/1)"
154
154
  :replies: []
155
155
  - :author: Cheswick32
156
- :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lzw82qi/
156
+ :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lzw82qi
157
157
  :body: |-
158
158
  The first day always feels like a test of "So how much thought we putting into running this thing?".
159
159
 
@@ -162,7 +162,7 @@
162
162
  [Paste](https://topaz.github.io/paste/#XQAAAQA1BQAAAAAAAAA5GUqKNoFH6SMqgz5/p0SQOJLmsq1ZB0a/1piD4YtOTl2yryMSPb8yt+HzPgs17kMK3qa5Pt4XB0i+P157YAYOjqPnnUayVBdNcP2YpHcA4r3Y+MR8fkwdqbk0WawDRDBeQKH/SQvLD4n5TgrbeiQ/D4eTIWxM62dZwygva6quKx2/9Uyy7AZBhywh5jp5z5L03KUMCcbXBCpAj7raYZaeBrU/ABVkIUOL4vo5b26uNY8YphcqbCWnmSktj3KUqxUFxqRzk1tnEawkklHFBTy9qP7wRZSC7ZAPqxZpAvJgqUWsz3nPJSNOmGSUj8xIst85XDJv1YojTeG6YIGzJCIsFTvmpE++CfYzEmsCjhct2EAixl3SPSOSJmpjNa1T7ojdJeZLsdzM19XbycmPJ1ndMUeJMsA0KZu7dZZZuW1M+jC4icyESt5m7D4lUJdHy4SPrzgI9C1SUxkM13YNcnGA8UPyqOXtespj1ltgM1AnHpKbkuEoETy/LRGGPuEH4K5dfGGFlb9jRS9NPe1ix5HeQdoEwYHbPFU/mH/odgPP6//lQ3jvSbqkxxTaKRvMvmEWWGmmBUSbmwvpTjtlnPr7YEar767MJoAONUBzHxY67Nu4zXlVVfnzfKQHT/CXvARSNBZJf8EkJStTB507isAwz9wFlZUxZ9uPXyS7BG6asaHjPmVHW+wmSTgnPFkGiZXeusyi44je3g0cEEZXA5kbKyBwN7Nip79YTaNDAcPrqUUeJzPY1L/gdZhIKi3vS6QK8+V2rx0g6xcR6uEO+82kf01Aw8hO3CdDAwr9pwqNBYgBGZYuoaraAD6DppkjnyOH/mo9RA==)
163
163
  :replies: []
164
164
  - :author: zaniwoop
165
- :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lzwfu9m/
165
+ :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lzwfu9m
166
166
  :body: |-
167
167
  ```ruby
168
168
  # part 1
@@ -187,7 +187,7 @@
187
187
  ```
188
188
  :replies: []
189
189
  - :author: Robowiko123
190
- :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lzwhsbr/
190
+ :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lzwhsbr
191
191
  :body: |-
192
192
  ```ruby
193
193
  # Part 1
@@ -198,6 +198,6 @@
198
198
  ```
199
199
  :replies:
200
200
  - :author: vmaskmovps
201
- :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lzxkt83/
201
+ :url: https://www.reddit.com/r/adventofcode/comments/1h3vp6n/2024_day_1_solutions/lzxkt83
202
202
  :body: Check your post, right now everything is a code block, including the Language header
203
203
  :replies: []