Powered by AppSignal & Oban Pro

PracticeA - Welcome to AtCoder

submit_2.livemd

PracticeA - Welcome to AtCoder

問題

https://atcoder.jp/contests/abs/tasks/practice_1

回答2

defmodule Main do
  def main do
    :stdio
    |> IO.read(:all)
    |> solve()
    |> IO.puts()
  end

  defp split_lines(lines) do
    lines
    |> String.trim()
    |> String.split("\n")
  end

  defp split_words(words) do
    String.split(words, " ")
  end

  def solve(input) do
    [s | numbers] =
      input
      |> split_lines()
      |> Enum.map(&split_words/1)
      |> List.flatten()
      |> Enum.reverse()

    sum =
      numbers
      |> Enum.map(&String.to_integer/1)
      |> Enum.sum()

    "#{sum} #{s}"
  end
end
"""
1
2 3
test
"""
|> Main.solve()
|> then(&(&1 == "6 test"))
"""
72
128 256
myonmyon
"""
|> Main.solve()
|> then(&(&1 == "456 myonmyon"))