
CodinGameのTemperatures(PUZZLES:5問目)をRubyで解いてみた
CodinGameはこちら ゲームでプログラミング学習する英語のサイト
パズル、EASYの5問目です。少しづつ慣れてきた感じはします。出来は良くないのは置いておいてw。
ドットインストールを見直しながら、分からないものはRubyのリファレンスをみて確認するという流れを少しづつ定着できている感じ。ようやくはじめの一歩を歩み出すことができたのかなと思います。
今回のミッション
N個の気温から絶対値に変換した値で一番0に近い気温をアウトプットします。同じ絶対値の気温があればプラスの気温を出力します。気温の値が与えられなければ0を出力します。
code
@n = gets.to_i # the number of temperatures to analyse
@temps = gets.chomp # the n temperatures expressed as integers ranging from -273 to 5526
tempratures = @temps.split(" ")
STDERR.puts tempratures
if @n == 0
result = 0
else
result = 9999
tempratures.each do |temp|
if result.to_i.abs > temp.to_i.abs
result = temp
elsif result.to_i.abs == temp.to_i.abs
result = temp if result.to_i < temp.to_i
end
end
end
puts result
今回の問題を解いての感想など
今回は簡単だったなと思って他の人が書いたソースコードを見ると、自分の書いたコードはRubyっぽくないなと感じさせられる。他の人は1行で完結に書いていて、でもそれが普通っぽい。そういう書き方を自分もしていくことが必要なんだなと。あとは、もっといろんなメソッドを調べて使えるようになる必要があるなと思う。思うだけじゃダメで、真似して書いてみることが必要なんですよね。まずはそこからだ。