{:ok, content} = File.read("input-2") content = content |> String.split("\n", trim: true) |> Enum.map(fn n -> String.graphemes(n) end) count2 = 0 count3 = 0 sum2 = for line <- content do Enum.reduce(line, %{}, fn char, acc -> Map.put(acc, char, (acc[char] || 0)+ 1) end) |> Map.values end sum3 = for sum <- sum2 do Enum.filter(sum, fn x -> x == 3 end) # need to split and count occurance of 2 and 3 seperately |> (fn x -> [ 0 | x] end).() #so the accumulator starts with 0 |> Enum.reduce(fn _, acc -> acc + 1 end) #if x == 2 do acc + 1 end end) end sum3= sum3 |> Enum.sum |> IO.inspect sum2 = sum2 |> Enum.filter(fn x -> Enum.member?(x, 2) end)# need to split and count occurance of 2 and 3 seperately |> (fn x -> [ 0 | x] end).() #so the accumulator starts with 0 |> Enum.reduce(fn _, acc -> acc + 1 end) #if x == 2 do acc + 1 end end) sum2 = sum2 |> IO.inspect sum1 = sum3 * sum2 IO.puts(sum1)