Day 8: Resonant Collinearity

Megathread guidelines

  • Keep top level comments as only solutions, if you want to say something other than a solution put it in a new post. (replies to comments can be whatever)
  • You can send code in code blocks by using three backticks, the code, and then three backticks or use something such as https://topaz.github.io/paste/ if you prefer sending it through a URL

FAQ

you are viewing a single comment's thread
view the rest of the comments
[–] 4 points 2 years ago

Uiua

Adapting the part one solution for part two took me longer than part one did today, but I didn't want to change much anymore.

I even got scolded by the interpreter to split the evaluating line onto multiple ones because it got too long.
Can't say it's pretty but it does it's job ^^'

Run with example input here

PartOne ← (
  &rs ∞ &fo "input-8.txt"
  ⟜(β–½Β¬βˆˆ".\n".β—΄)
  βŠœβˆ˜β‰ @\n.
  :€⟜(:Β€-1β–³)
  ≑(β–‘βŠšβŒ•)
  β—΄/β—‡βŠ‚βš(≑(-:⟜-°⊟)β§…β‰ 2)
  β§»β–½Β¬:βŠ™(/+⍉+)βŸœβŠ“><,0
)

PartTwo ← (
  &rs ∞ &fo "input-8.txt"
  ⟜(β–½Β¬βˆˆ".\n".β—΄βŸœΒ€
    β–½:βŸœβ‰‘(>1β§»βŠšβŒ•)
  )
  βŠœβˆ˜β‰ @\n.
  :€⟜(:Β€-1β–³)
  ≑(β–‘βŠšβŒ•)
  ⊸⍚(
    β§…β‰ 2βŠ™Β€
    ≑(:€⟜-°⊟
      ⍒(βŠ™βŠ‚βŸœ-βŠ™βŠΈβŠ’
      | β‹…(=0/++βŠ“><,0⊒))
      β–‘βŠ™β—Œβ—Œ
    )
  )
  β—΄/β—‡βŠ‚/β—‡βŠ‚
  β§»β–½Β¬:βŠ™(/+⍉+)βŸœβŠ“><,0
)

&p "Day 8:"
&pf "Part 1: "
&p PartOne
&pf "Part 2: "
&p PartTwo
  • source