my solutions to advent of code
aoc advent-of-code
at main 573 B view raw
1defmodule Main do 2 {_, input} = 3 File.read("../input.txt") 4 5 input = input |> String.trim() |> String.graphemes() 6 7 input 8 |> Enum.reduce(0, fn step, floor -> 9 case step do 10 "(" -> floor + 1 11 ")" -> floor - 1 12 end 13 end) 14 |> IO.puts() 15 16 input 17 |> Enum.reduce_while({0, 0}, fn step, i_floor -> 18 {i, floor} = i_floor 19 20 i = i + 1 21 22 floor = 23 case step do 24 "(" -> 1 25 ")" -> -1 26 end + floor 27 28 case floor do 29 -1 -> {:halt, {i, floor}} 30 _ -> {:cont, {i, floor}} 31 end 32 end) 33 |> elem(0) 34 |> IO.puts() 35end