CodinGameのTemperatures(PUZZLES:5問目)をRubyで解いてみた

LINEで送る
Pocket

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行で完結に書いていて、でもそれが普通っぽい。そういう書き方を自分もしていくことが必要なんだなと。あとは、もっといろんなメソッドを調べて使えるようになる必要があるなと思う。思うだけじゃダメで、真似して書いてみることが必要なんですよね。まずはそこからだ。

 

 

LINEで送る
Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です