ElixirでPaizaのD問題
ElixirでPaizaのD問題を解いてみた
実際に提出したコードと問題番号を公開したいところなのだけど、Paizaは解法の公開を禁じているので、類題を作問してその解答を載せていく。
2倍にせよ
整数が入力されるので2倍して表示しなさい。
a = IO.read(:stdio, :line)
b = String.trim(a)
IO.puts String.to_integer(b) * 2
初めてElixirで解いた問題。何もわからないところからスタートしたので、20分ぐらいかかってしまった。
Elixirは引数の括弧を省略できるのだが、省略した場合、1行に複数の処理を書く方法がわからない。
0をN回表示せよ
0をN回表示しなさい。
count = String.to_integer(String.trim(IO.read(:stdio, :line)))
defmodule My do
def loop(0) do
end
def loop(times) do
IO.write "0"
loop(times - 1)
end
end
My.loop count
Elixirにはループが存在しないので、かわりに再帰を使うらしい。うまくライブラリ化すれば再帰は意識しなくてよいかも?
XをPに置換せよ。
2文字の文字列(例:XX、SS)が入力されるので、1文字目がXだった場合はPに置換して出力せよ。
str = IO.read(:stdio, :line)
if (String.at str, 0) == "X" do
IO.write "P"
else
IO.write String.at str, 0
end
IO.write String.at str, 1
Author And Source
この問題について(ElixirでPaizaのD問題), 我々は、より多くの情報をここで見つけました https://qiita.com/ynishi2015/items/bab97069e19d0dc1f7bb著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .