From 36d89965b5a8ffb08c81da496e37924a2647ce65 Mon Sep 17 00:00:00 2001 From: Anish Lakhwara Date: Mon, 3 Dec 2018 18:42:23 +1100 Subject: [PATCH] finished 2 --- 2.exs | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/2.exs b/2.exs index 5330fce..355d777 100644 --- a/2.exs +++ b/2.exs @@ -5,19 +5,36 @@ content = content count2 = 0 count3 = 0 -for line <- content do +sum2 = for line <- content do Enum.reduce(line, %{}, fn char, acc -> Map.put(acc, char, (acc[char] || 0)+ 1) end) - |> Map.values - |> Enum.filter(fn x -> x == 2 || x == 3 end) -# need to split and count occurance of 2 and 3 seperately - |> Enum.reduce(0, fn x, acc -> if x == 2 do acc + 1 end 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 -IO.puts(count2) -IO.puts(count3) +sum1 = sum3 * sum2 +IO.puts(sum1) +#IO.puts(count2) +#IO.puts(count3) # File.stream!("input-2") # |> Stream.map(&String.trim/1)