コンテンツへスキップ

【Ruby基礎】AtCoder Beginner Contest 020 A – クイズ

■はじめに

Rubyの基礎的な問題をたくさん解くことで基本的な考え方やメソッドの使い方を定着させたい。
基本的にはAtCoderというプログラミングコンテスト(競技プログラミング)の過去問を使う。(AtCoderは難易度が分かれており、難易度の低いA問題かB問題を解いていく)

■問題

●出典

AtCoder Beginner Contest 020のA問題
https://atcoder.jp/contests/abc020/tasks/abc020_a

●問題文

クイズです。

  • 第 1 問: あなたが今参加しているこのコンテストの略称は何でしょう? アルファベット大文字 3 文字で答えてください。
  • 第 2 問: あなたが今参加しているこのコンテストなどを運営しているAtCoder株式会社の代表取締役社長は誰でしょう? アルファベット小文字 8 文字のハンドルネームで答えてください。

標準入力から整数 1 または 2 が与えられます。 1 が入力された場合は第 1 問の答えを、 2 の場合は第 2 問の答えを出力してください。
なお、クイズの答えに関してはこの問題ページ内に記載があります。

●入力

入力は以下の形式で標準入力から与えられる。

Q
  • 1 行目に、答えるべき問題を指定する 1 個の整数 Q (Q=1 または Q=2) が与えられる。

●出力

標準出力に、 Q=1 であれば第 1 問の答えを、 Q=2 であれば第 2 問の答えを出力せよ。アルファベットの大文字と小文字は区別される。
末尾の改行を忘れないこと。

■回答

●愚直に書く

これはもう、入力は12しかなくて、それぞれの場合に決められた文字列を表示すれば良いという話なので、

q = gets.to_i
puts q == 1 ? "ABC" : "chokudai"

通った!

●リファクタリング/別アプローチ

変数を使わないくらいか。

puts gets.to_i == 1 ? "ABC" : "chokudai"

●他の方の回答例

似たような感じだった。

●出てきたメソッド等

公式リファレンスを見る訓練。

  • 特に無し

■振り返りなど

サッとできて良かった。