PerlとRubyがくしゅう帳

プログラミングの勉強会の参加記録や学んだことなど。 twitter ID : @tomcha_です。 最近は主にPerl関連の勉強会やコミュニティに参加しています。

サクサク行きます!

お題にクイズ形式で答えてコードを書いていくのは楽しいですね。

今日のお題はこちら。

Digit Number

ファイルの読み込みと、読んだデータの処理が味噌な問題。

1つずつ、覚えていきます。

読み込んだ文字の操作を調べつつコードを書いてみた。


file = open("number.txt")
while text = file.gets
array = text.split(/\s/)
print(((array[0].to_i + array[1].to_i).to_s).length,"\n")
end
file.close


number.txtにデータを書きこんで、

1行読んで、空白でデータを分ける。分けた文字データを配列の箱に入れて、それを数字に変換して演算。

色んなメソッドのコンビネーション技で今日も問題クリア!

今日も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


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

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

たのRubyを読み進めながら、お題のプログラムを書いてみた。 チャレンジするお題は、簡単なものからチャレンジ。

競技プログラミングのお題集ページ

まずは、第一問目のお題、”QQ”演算と出力のプログラムを書く問題。

ctr+Aで選択すると反転して見えます。
まだ超初級編なんで、そんなたいしたコードじゃないけれどw

9.times do |x|
9.times do |y|
print(x+1,"x",y+1,"=",(x+1)*(y+1),"\n")
end
end

順番に1の段から2の段、3の段・・・と繰り返すので、変数を使ってループするコードを書いてみた。

クイズみたいで楽しい!

このページのトップヘ