今日もRubyのコードを考えてみた。

今日のお題は、こちら。

List of Top 3 Hills

ファイルを読み込んで、読み込んだデータのTop3を順番に出力するプログラム。
ファイル読み込みの作法と、あとは並べ替えの部分をどうコードで表すかがポイントかな。

そんなに難しい命令も使わずに書けそうなので、サラサラっと書いてみたのがコチラ↓










array = [0,0,0]
file = open("mountlist.txt")
while text = file.gets
if array[0] < text.to_i
array[2] = array[1]
array[1] = array[0]
array[0] = text.to_i
elsif array[1] < text.to_i
array[2] = array[1]
array[1] = text.to_i
elsif array[2] < text.to_i
array[2] = text.to_i
end
end
puts(array[0],array[1],array[2])
file.close


答えを格納する配列を先に作って、比較しながらトップを入れ替えてみました。

まだまだ、このくらいの問題なら大丈夫。
どんどんチャレンジしていこう!