■はじめに
Rubyの基礎的な問題をたくさん解くことで基本的な考え方やメソッドの使い方を定着させたい。 基本的にはAtCoderというプログラミングコンテスト(競技プログラミング)の過去問を使う。(AtCoderは難易度が分かれており、最も簡単なA問題を解いていく)
■問題
●出典
AtCoder Beginner Contest 005のA問題 https://atcoder.jp/contests/abc005/tasks/abc005_1
●問題文
高橋君はたこ焼き屋をはじめることにしました。 たこ焼きを1つ作るのに必要な小麦粉の量xグラムと、高橋くんが今持っている小麦粉の量yグラムが与えられるので高橋くんが最大でいくつたこ焼きを作れるか出力して下さい。 (高橋くん良く出てくるなと思ったんですがAtCoderの社長さんが高橋さんなのですね)
●入力
入力は以下の形式で標準入力から与えられる。
x y
たこ焼きを1つ作るのに必要な小麦粉の量を表す整数x(1≦x≦100)と、高橋くんが今持っている小麦粉の量を表す整数y(1≦y≦100)が半角スペース区切りで与えられる。
●出力
高橋くんが最大でいくつたこ焼きを作れるか出力して下さい。
■回答
●愚直に書く
割り算をして、小数点以下は「たこ焼きを1個作るには足りない量」なので切り捨てれば良い。1行目で既にto_iしてあるので割り算のあまりは自動的に切り捨てられるから、シンプルに下記で提出したら大丈夫だった! (例えばもしto_fしてたら小数点が表示されてしまうのでそれを切り捨てるみたいな処理が必要になる)
x, y = gets.split.map(&:to_i)
p y / x
●リファクタリング
これはリファクタリング無しで良いかな…!
●他の方の回答例
大体似たような感じ。目についたのは半角スペースを省いたり、改行の代わりに;
を使ってコード長を短くしているくらいかな。
■振り返りなど
今回も計算部分は問題なかった。標準入力がまだ慣れないので、慣れたい。