Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
27
Task/Balanced-brackets/Elixir/balanced-brackets.elixir
Normal file
27
Task/Balanced-brackets/Elixir/balanced-brackets.elixir
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
defmodule Balanced_brackets do
|
||||
def task do
|
||||
Enum.each(0..5, fn n ->
|
||||
brackets = generate(n)
|
||||
result = is_balanced(brackets) |> task_balanced
|
||||
IO.puts "#{brackets} is #{result}"
|
||||
end)
|
||||
end
|
||||
|
||||
defp generate( 0 ), do: []
|
||||
defp generate( n ) do
|
||||
for _ <- 1..2*n, do: Enum.random ["[", "]"]
|
||||
end
|
||||
|
||||
def is_balanced( brackets ), do: is_balanced_loop( brackets, 0 )
|
||||
|
||||
defp is_balanced_loop( _, n ) when n < 0, do: false
|
||||
defp is_balanced_loop( [], 0 ), do: true
|
||||
defp is_balanced_loop( [], _n ), do: false
|
||||
defp is_balanced_loop( ["[" | t], n ), do: is_balanced_loop( t, n + 1 )
|
||||
defp is_balanced_loop( ["]" | t], n ), do: is_balanced_loop( t, n - 1 )
|
||||
|
||||
defp task_balanced( true ), do: "OK"
|
||||
defp task_balanced( false ), do: "NOT OK"
|
||||
end
|
||||
|
||||
Balanced_brackets.task
|
||||
Loading…
Add table
Add a link
Reference in a new issue